2014-12-19 68 views
1

我有一个Jquery ajax调用Web API,返回一个JSON序列化对象。 这个调用正确得到JSon对象,但是我怎么解析它才能显示这个城市?Jquery ajax从获取请求中检索数据返回空对象

$.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调用警报返回 “未定义”。我对Ajax post调用返回的数据做了基本相同的事情,在这种情况下,警报按预期工作。我错过了什么?我如何访问返回的JSON组件?

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

回答

1

试试这个:

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

$.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"); 
    } 
}); 
0

尝试用parseJSON

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