我在两台服务器上运行了一个应用程序,一个正常,一个不能理解原因。
ajax查询..
$.ajax({
type: "POST",
url: "WebService.asmx/GetFinish1",
data: '{' +
'Item:"' + item + '"' +
'}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var data = jQuery.parseJSON(msg);
$("#item").val(JSON.stringify(msg));
在第$("#item").val(JSON.stringify(msg));
行,我得到了......
{"d":"{\"0\":{\"i\":\"MODIFIED C/W TOOL MC WALL\",\"D\":\"Notes\",\"V\":\"MODIFIED C/W TOOL MC WALL\"},\"1\":{\"i\":\"EA\",\"D\":\"Unit\",\"V\":\"EA\"},\"2\":{\"i\":\"EA\",\"D\":\"Unit\",\"De\":\"Unit\",\"V\":\"EA\"}}"}
第二个我得到
"{\"0\":{\"i\":\"1x 8351-3 & 2 x 8352-3\",\"D\":\"Notes\",\"V\":\"1x 8351-3 & 2 x 8352-3\"},\"1\":{\"i\":\"PC3\",\"D\":\"Unit\",\"V\":\"PC3\"},\"2\":{\"i\":\"PC3\",\"D\":\"Unit\",\"De\":\"Unit\",\"V\":\"PC3\"}}"
第二个有效,第一个没有,但为什么不同?相同的代码!额外的{}和d:来自哪里?
答案 0 :(得分:1)
您不需要
var data = jQuery.parseJSON(msg);
$("#item").val(JSON.stringify(msg));
因为msg
由于dataType: 'json'
属性中使用ajax
而已经格式化为JSON格式。
答案 1 :(得分:0)
我不知道为什么,但我必须使用以下var data = jQuery.parseJSON(msg.d);