【发布时间】:2015-09-11 12:45:07
【问题描述】:
我无法通过 jQuery AJAX 调用访问基于 .net 框架 4.0 的 asp.net Web API。
WebAPI 返回以下 JSON 结果
["Value1", "Value2"]
WebClient 实现以下 jQuery 代码来访问 WebAPI
$.ajax({
type: 'GET',
url: 'http://localhost:62915/api/values',
contentType: 'application/json',
dataType: "jsonp",
success: function (data) {
alert('success');
console.log(data);
},
error: function (reason) {
alert('fail');
console.log(reason);
}
});
我在 chrome 网络选项卡上没有收到任何错误消息,我可以在上面看到预期的 JSON 结果。
但是,问题在于调用“错误”方法而不是调用“成功”方法。 我的 jQuery 代码有什么问题?
提前致谢。
--SJ
【问题讨论】:
-
什么是errorCode?你检查浏览器地址栏上的urllocalhost:62915/api/values了吗?
-
浏览器返回预期的 JSON 结果,但我无法从 JQuery 调用访问该值
-
为什么是 jsonp?是跨域吗?你应该在 url 中指定回调
-
是的,它是一个跨域函数调用。在记录结果对象时,我得到这样的结果 Object {readyState: 4, status: 200, statusText: "success"}
-
上述 jQuery 方法正确获取 JSON 结果,但不是调用 success 方法,而是回退到 error 方法。
标签: jquery asp.net .net asp.net-web-api