【问题标题】:JSONP - Callback was not calledJSONP - 未调用回调
【发布时间】:2014-12-31 01:53:14
【问题描述】:

我创建了一个用于通过跨域获取数据的 jsonp ajax 调用。 现在的事情是 - 我成功地操纵它通过网络服务器发送数据。

但它无法在 get 调用中接收数据。当我查看调试器时,我看到网络选项卡接收文件并且其中有数据。但我仍然收到一条错误消息。

url 获取带有 jquery 回调键的参数。我的网络服务使用该密钥并将其再次添加到响应标头中。 (我也在调试器中看到)。我还在接收到数据的网络选项卡中收到OK200 状态代码...

现在的问题是,为什么 ajax 调用没有跳转到成功函数,而是每次都显示没有调用回调的错误。

我做错了什么?

代码如下:

    $.ajax({
        url: getServicePath,
        dataType: 'jsonp',  
        username: "abc",
        password: "123",
        contentType: "application/json",
        success: function(results) {
                 alert(results);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) { 
                 alert("Status: " + textStatus); alert("Error: " + errorThrown); 
        }   

感谢您的帮助!! :)

【问题讨论】:

  • 您尝试使用的远程资源似乎不支持jsonp....仅在客户端使用jsonp是不够的...它还需要服务器支持
  • 但是我在远程资源的响应头中设置了原始回调。比如:响应头:回调:jQuery171011685512703843415_1415089316044

标签: jquery ajax callback get jsonp


【解决方案1】:

我解决了这个问题。

网络服务是一个 SAP ABAP 网络服务。问题是我没有包含以下代码行来正确支持 jsonp。

CONCATENATE _callback '(' _json_string ')' INTO _json_string。

【讨论】:

    猜你喜欢
    • 2020-02-22
    • 2016-11-11
    • 2013-10-26
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2019-04-01
    相关资源
    最近更新 更多