读取json数据返回jQuery

时间:2010-08-06 21:16:09

标签: jquery ajax json

我正在使用以下代码来获取一些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"];

然而,这似乎总是返回“未定义”。为了获得单个数据串“测试数据”,我缺少什么?

3 个答案:

答案 0 :(得分:8)

dataType: "text",更改为dataType: "json",

您遇到的问题是,虽然返回的字符串实际上是有效的JSON,但它将作为字符串返回到您的成功函数。字符串没有名为d的属性。你需要做的是将JSON转换为javascript对象 - 如果你告诉它你正在期待JSON,jQuery会为你做什么。

答案 1 :(得分:5)

如果您尝试data.d会怎样?

答案 2 :(得分:0)

我认为Sean& Thiago是正确的:使用{dataType: "json"}(在您的选项中为$ .ajax())并使用data.d访问该值。