我正在尝试做一些编码,进一步操作,等等等等,最后得到json对象并返回一个Jsonp(用javascript函数包装的json对象)
我设法创建了直到json对象
js_on = {"name": "xxx","job":"unemployed", "remarks": "enjoying_life"}.
我坚持做JSONP部分。我读过的教程非常令人困惑,需要多行编码。是真的那么复杂还是有更简单的方法呢? 我的JSONP代码从以下开始。
callback = request.GET.get('callback')
if callback:
......
......
return(HttpResponse(...,content_type ='application/javascript'))
在服务器端,我使用的是Python和Django框架。 感谢。
答案 0 :(得分:5)
想象一下使用以下格式的GET
请求:
request: 'some/url?callback=myFunction'
在某种伪代码中,服务器端的JSONP应为:
response = '{ "somejson": "someValue" }'
if (request.params.callback != null)
response = request.params.callback + '(' + response + ')'
因此,检索到客户端的数据将是:myFunction({ "somejson": "someValue" })
。
然后就这样从客户端调用它:
script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'some/url?callback=myFunction';
<强>更新强>
您澄清您正在使用Django,所以也许this blogpost可能对您有所帮助。它解释了如何使用装饰器返回JSONP。你也应该看看at the Django documentation about renderers。