我使用以下代码来获取一些 json 格式的数据:
$.ajax({
type: "GET",
url: "MyService.svc/GetSomeData",
dataType: "text",
success: function (data, textStatus) {
alert("Test: " + data.toString());
},
error: function (xhr, textStatus, errorThrown) {
alert("Error: " + (errorThrown ? errorThrown : xhr.status));
}
});
数据已成功返回到此调用,如下所示:
{"d":"test data"}
我的猜测是我可以按如下方式访问数据:
var myData = data["d"];
然而,这似乎总是返回“未定义”。为了获取单串数据“测试数据”,我缺少什么?
最佳答案
将 dataType: "text",
更改为 dataType: "json",
您遇到的问题是,虽然返回的字符串实际上是有效的 JSON,但它会作为字符串返回到您的 success 函数。字符串没有名为 d
的属性。您需要做的是将 JSON 转换为 javascript 对象——如果您告诉 jQuery 您需要 JSON,那么 jQuery 就会为您执行此操作。
关于jquery - 读取json数据返回jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3427855/