0

我有一个应用程序在两台服务器上运行,一个有效,一个不明白为什么。

阿贾克斯查询..

 $.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: 来自哪里?

4

2 回答 2

1

你不需要

var data = jQuery.parseJSON(msg);
$("#item").val(JSON.stringify(msg));

因为,由于在属性中使用,msg已经是 JSON 格式。dataType: 'json'ajax

于 2012-05-28T14:47:38.050 回答
0

我不知道为什么,但我不得不使用以下var data = jQuery.parseJSON(msg.d);

于 2012-05-28T15:35:30.580 回答