我正在编写一个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做错了什么?
当您使用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})”的内容
希望有帮助!