Closed. This question needs details or clarity。它当前不接受答案。












想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。

5年前关闭。



Improve this question




我试图做一些编码,进一步的操作,等等等等,最后得到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框架。
谢谢。

最佳答案

想象一下这种格式的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';

另请参见this question

更新

您需要说明自己使用的是Django,因此this blogpost可能会对您有所帮助。它说明了如何使用装饰器返回JSONP。另外,您应该看看at the Django documentation about renderers

关于javascript - Django的JSONP响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27487199/

10-13 00:01