JSONP请求回调

时间:2013-11-22 17:25:33

标签: javascript jquery ajax web-services jsonp

好的,经过一整天试图让这个工作起来之后,我似乎并不知道这是怎么回事,所以这就是:

我现在在本地托管了 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属性等等)

任何帮助都会很棒,

先谢谢

1 个答案:

答案 0 :(得分:0)

检查实际响应文本以验证回调函数是否正确包装了响应。您的服务可能未正确设置以处理JSONP,因此它只是使用JSON进行响应。它仍会以200返回,但无法执行。

loadNews_callBack([json...])

VS

[json...]

请参阅此问题作为有关如何更新服务的参考: ASP.net MVC returning JSONP