好的,经过一整天试图让这个工作起来之后,我似乎并不知道这是怎么回事,所以这就是:
我现在在本地托管了 WebService (http:// localhost:15021 / Service1.svc / [whatever_method])和另一个文件上的 HTML页面
仅供参考,WebService和HTML Page都将托管在不同的服务器上。
我正在尝试通过HTML页面中的 onload = load()方法从WebService获取一些信息到HTML页面。
我的JavaScript代码是:
function load() {
alert("Loading...");
$.ajax({
url: 'http://localhost:15021/Service1.svc/getAllNoticias',
type:'GET',
dataType: 'jsonp',
jsonp: 'loadNews_callBack'
});
}
function loadNews_callBack(result){
alert(result.data);
}
此外,JSONP在页面上加载了OK(200)状态(As you can see here),应该(我猜)应该调用回调函数,但它不是。
我该怎么做才能解决这个问题?我已经将请求参数更改了500次(例如,将“?callback =?”添加到url,有或没有jsonp属性等等)
任何帮助都会很棒,
先谢谢
答案 0 :(得分:0)
检查实际响应文本以验证回调函数是否正确包装了响应。您的服务可能未正确设置以处理JSONP,因此它只是使用JSON进行响应。它仍会以200返回,但无法执行。
loadNews_callBack([json...])
VS
[json...]
请参阅此问题作为有关如何更新服务的参考: ASP.net MVC returning JSONP