使用jQuery检索本地JSON提要
我正在尝试使用jQuery检索本地JSON提要 出于某些原因,以下内容适用于外部url,但不适用于localhost:49171。不知道我做错了什么 谢谢使用jQuery检索本地JSON提要,jquery,json,jsonp,Jquery,Json,Jsonp,我正在尝试使用jQuery检索本地JSON提要 出于某些原因,以下内容适用于外部url,但不适用于localhost:49171。不知道我做错了什么 谢谢 var url = "http://localhost:49171/Service1.svc/GetAllHomePageLineItems"; $.jsonp({ url: url, callbackParameter: "callback", cache: true, dataType:
var url = "http://localhost:49171/Service1.svc/GetAllHomePageLineItems";
$.jsonp({
url: url,
callbackParameter: "callback",
cache: true,
dataType: 'json',
success: onSuccess,
error: function () {
onError()
}
});
function onError() {
alert("error");
}
function onSuccess(data) {
alert(data);
}
您是否尝试过使用$.getJson()函数而不是jsonp
把它弄明白了。这是跨域AJAX调用的一个问题。我不得不将global.asax.cs文件添加到我的WCF web服务中,该服务生成JSON并启用跨域AJAX调用 来自global.asax.cs-
private void EnableCrossDomainAjaxCall() {
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin",
"*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS") {
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE, OPTIONS");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers",
"Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age",
"1728000");
HttpContext.Current.Response.End();
}
}
如果直接访问url,会得到什么?当您进行ajax调用时,它是否会进入任何回调函数?您的控制台怎么说?我在本地加载
ajax
时总是遇到问题。也许这里有人可以提供进一步的帮助。如果我直接访问url,我可以看到格式正确的JSON。Console没有报告任何错误。我尝试使用$.getJson(),我收到一个错误,因为url位于不同的端口。此脚本是否与JSON提要位于同一服务器(本地主机)上?我认为您遇到了跨站点脚本问题。