javascript - Django 的 JSONP 响应

标签 javascript python json django jsonp

我正在尝试做一些编码,进一步的操作,等等,最后得到 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 请求:

请求:'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/

相关文章:

python - 这个算法的复杂性用大O表示法?

java - 创建动态嵌套 JSON Java

javascript - 使用 json 对象在 map 上添加多个标记

php - 从过程代码转向oop

javascript - 如何在 Array.prototype 和 Object.prototype 的 javascript 中定义方法,使其不会出现在 for in 循环中

javascript - 如何使滚动条长度小于父 block ?

javascript - 如何将变量从按钮的 onclick 传递到 javascript 代码?

python - Qt:接管系统打开文件对话框

python - 仅更新 cassandra 中的 TTL

javascript - 传递图像数组值并更改图像源 onclick