[英]jquery ajax success result is null
我正在使用jquery进行ajax调用以获取json格式的数据。 调用成功回调函数但数据为空。
$(document).ready(function () {
$.ajax({
url: "http://apps.sungardhe.com/StudentResearch/public/Research.svc/Schools",
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: cbSchools
});
});
function cbSchools(data) {
if (data == null) {
alert("data is null");
return;
}
for (var school in data) {
$("#ddSchool").append("<option value='" + data[school].ShortName + "'>" + data[school].ShortName + "</option>");
}
}
使用fiddler我看到响应实际上是返回json数据,但由于某种原因,jquery结果对象为null。 谁能告诉我为什么?
我相信你可以让你的通话变得通用(原因如marduk所示)
要处理这个问题,并使调用通用(与data和data.d一起使用),我在我的ajax调用中使用以下内容(使用我的asp.net内容),以便它可以使用旧服务和新服务:
dataFilter: function(data)
{
var msg;
if (typeof (JSON) !== 'undefined' &&
typeof (JSON.parse) === 'function')
msg = JSON.parse(data);
else
msg = eval('(' + data + ')');
if (msg.hasOwnProperty('d'))
return msg.d;
else
return msg;
},
编辑:如果它真的是空的而不是“未定义”那么跨域问题可能在这里发挥作用。
试试这个
if (data.d == null) {
alert("data.d is null");
return;
}
由于返回数据类型为json,因此数据位于响应对象中的数据“d”变量中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.