我正在编写一个AJAX函数,它从我的JSON Python Web服务请求数据.我的AJAX请求如下:
url = "http://localhost:8001/blah"
$.ajax({
url: url,
type: 'get',
dataType: 'jsonp',
success: function(data) {
console.log('hi')
}
});
Run Code Online (Sandbox Code Playgroud)
现在,我的python Web服务有一个函数来处理具有以下return语句的'/ blah'请求:
return json.dumps({'a':1, 'b':2 })
Run Code Online (Sandbox Code Playgroud)
我的AJAX函数没有成功从我的Python Webservice中检索响应,但我没有在Firebug中收到任何错误.什么是我的webservice或javascript做错了?
使用Jquery的JSONP数据类型时会发生什么,回调函数名称作为URL的一部分作为GET参数发送,因此您实际上查询类似"http:// localhost:8001/blah?callback = json125348274839"的内容.
您的Web服务器的响应应如下所示:
return "%s({'a':1, 'b':2 })" % _GET_PARAMS('callback')
Run Code Online (Sandbox Code Playgroud)
所以你的网络服务器将返回像"json125348274839({'a':1,'b':2})"这样的东西
希望有所帮助!
扎克得到了它.我的javascript是正确的.我将我的python return语句更改为以下内容:
callback = request.args.get('callback')
return '{0}({1})'.format(callback, {'a':1, 'b':2})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9973 次 |
| 最近记录: |