Jquery ajax从get请求中检索数据返回空对象

时间:2014-12-19 07:24:57

标签: jquery ajax json

我有一个对Web API的Jquery ajax调用,它返回一个JSON序列化对象。 此调用正确获取JSon对象,但如何解析它以显示城市?

  $.ajax({ 
                url: '@Url.Action("GetDetails","home")',
                data: {'orderId':OId,},
                success: function (d,status,xhr) {
                   alert(d[0].City);
                },
                error: function (data) {
                    alert("Error");
                }
            });

返回的数据是:

[{"id":52,
"FName":"John",
"LName":"Smith",
"Street":"Main Street",
"City":"Magic Kingdom",
"State":"FL"}]

ajax调用中的警报返回" undefined"。对于从Ajax post调用返回的数据,我基本上做同样的事情,在这种情况下,警报按预期工作。我错过了什么?如何访问返回的JSON组件?

我正在观看数据从成功回来(使用Fiddler)。无论是从帖子返回还是获取,返回的数据看起来都相同。

2 个答案:

答案 0 :(得分:1)

试试这个:

这里dataType: "json"告诉jQuery你希望它解析返回的JSON。

$.ajax({
    url: '@Url.Action("GetDetails","home")',
    data: {
        'orderId': OId,
    },
    dataType: "json",
    success: function (d, status, xhr) {
        alert(d[0].City);
    },
    error: function (data) {
        alert("Error");
    }
});

答案 1 :(得分:0)

尝试使用 parseJSON

var data= jQuery.parseJSON(d);
alert( data.City);