我正在尝试使用JQuery $ .ajax()从我的WebAPI“获取”数据。这是我的代码:
$.ajax({
type: "GET",
url: "http://localhost:62412/api/RandomData?startTime=2013-02-23%2005%3A00%3A00&callback=?",
dataType: "jsonp",
success: function (data) {
alert("success");
},
error: function (errorData) {
alert("fail");
}// When Service call fails
});
我可以看到WebAPI正常工作并成功返回数据。但在客户端,我总是得到“失败”警报。我可以在firebug中看到数据。
任何人都可以告诉我为什么当响应状态为'200'时会调用'错误'功能?
答案 0 :(得分:1)
如果下载的数据不是有效的json数据且可以正确解析,则$ .ajax调用可能会失败。
更改错误回调并检查错误消息:
error: function (data, msg) {
console.log(msg)
}
答案 1 :(得分:1)
返回的代码不是JSONP。这是简单的JSON。
在jsonp中,服务器必须将JSON对象作为函数的参数返回,并将名称作为回调参数提供。
在您的配置中,如果发送到服务器的回调参数是“example”,则服务器必须回答
example( json code here )
而不仅仅是
json code here
就像现在一样。
使用$.ajax
函数,您不必在客户端指定回调函数名称,但服务器必须尊重它。