一尘不染

带有JSON的JSONP Web服务

json

我正在编写一个AJAX函数,该函数从JSON Python Web服务请求数据。我的AJAX请求如下所示:

  url = "http://localhost:8001/blah"
  $.ajax({
      url: url,
      type: 'get',
      dataType: 'jsonp',
      success: function(data) {
          console.log('hi')
      }
  });

现在,我的python网络服务具有一个处理对“ / blah”的请求的函数,该函数具有以下return语句:

return json.dumps({'a':1, 'b':2 })

我的AJAX函数无法从Python Web服务成功检索响应,但是在Firebug中没有出现任何错误。我的网络服务或JavaScript做错了什么?


阅读 242

收藏
2020-07-27

共1个答案

一尘不染

当您使用Jquery的JSONP数据类型时,会发生回调函数名称作为GET参数作为URL的一部分发送的情况,因此您实际上正在查询类似“ http://
localhost:8001 / blah?callback = json125348274839”的内容。

您从Web服务器收到的响应应如下所示:

    return "%s({'a':1, 'b':2 })" % _GET_PARAMS('callback')

因此您的网络服务器将返回类似“ json125348274839({‘a’:1,’b’:2})”的内容

希望有帮助!

2020-07-27