人们通常如何在Python中实现jsonp?
我想学习如何在Python中使用jsonp。我在网上搜索了一些有用的教程,但似乎没有太多相关的资源。
所以我想在这里问问,有没有人知道什么教程、API可以用,或者有什么好的实践经验。
谢谢大家。
1 个回答
19
你是说要用Python做一个API或者网站,来支持生成JSOP输出吗?
这其实很简单。假设你的API在/some/resource.json
这个地址已经能输出一些JSON格式的数据(比如在代码里是return json.dumps(dict(a='foo'))
)。
要支持JSONP,你只需要接受一个回调参数(比如/some/resource.json&callback=some_func
)。这样,如果你收到了这个参数,就不是直接返回JSON数据,而是把它包裹在一个函数调用里:
d = json.dumps(dict(a='foo'))
return 'some_func(' + d + ');'
这样,调用你这个API的网页代码就可以自动在它的DOM里插入脚本标签,神奇地加载你的JavaScript '函数'。明白了吗?