人们通常如何在Python中实现jsonp?

10 投票
1 回答
7610 浏览
提问于 2025-04-16 14:42

我想学习如何在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 '函数'。明白了吗?

撰写回答