2

我创建了这个处理我的数据库功能的 web 服务,这是对其中一种方法的 AJAX 调用。

 $.ajax({
        type: "POST",
        url: "Service/dataBaseService.asmx/getRMAData",
        data: '{"RMAId": 1 }',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        cache: false,
        success: function (data) {
            console.log(data);
            alert(data.RMA_ID);
        }
  });

这是记录的内容:

({d:"[{\"RMA_ID\":1,\"RequestDate\":\"2013-02-28T00:00:00\",\"Company\":1,\"Status\":\"Accepted            \",\"Serial\":201764,\"LastChangeDate\":\"2013-02-28T00:00:00\",\"LastChangeBy\":\"Foreign    \",\"Price\":null}]"})

然而alert(data.RMA_ID)返回 undefined 以及data.d.RMA_ID?

我怎样才能掌握这些价值观?

4

2 回答 2

6

data您记录的值是一个具有名为 的属性的对象d,其中包含一个字符串值。您可能可以在服务器端进行调整以生成d对象的值而不是字符串,但是按照当前的构造方式,您可以使用JSON.parse.

完成后,生成的对象应该是一个数组,包含一个对象。因此,您的访问权限RMA_ID如下:

var data = JSON.parse(data.d);
alert(data[0].RMA_ID);
于 2013-04-24T11:46:13.457 回答
0

使用简单的 javascript 您需要解析 JSON 响应

var resp = eval('(' + data + ')');

或通过 jQuery

var resp = jQuery.parseJSON(data);

现在您可以使用“。”访问数据。和键名

console.log(resp.d[0].RMA_ID)
于 2013-04-24T11:50:55.033 回答