我创建了这个处理我的数据库函数的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
?
我如何掌握价值观?
答案 0 :(得分:6)
您记录的data
值是一个具有名为d
的属性的对象,其中包含字符串值。您可以在服务器端进行调整,使d
的值为对象而不是字符串,但是当前构造的方式,您可以使用JSON.parse
将其解析为对象
完成后,生成的对象应该是一个包含一个对象的数组。因此,您对RMA_ID
的访问权限如下:
var data = JSON.parse(data.d);
alert(data[0].RMA_ID);
答案 1 :(得分:0)
使用简单的javascript,您需要解析JSON响应
var resp = eval('(' + data + ')');
或通过jQuery
var resp = jQuery.parseJSON(data);
现在您可以使用'。'访问数据了。和密钥名称
console.log(resp.d[0].RMA_ID)