我无法连接最近了解 JSONP 的一些点。以下是我的理解:
- 由于同源策略,禁止任何内容(包括 JSON)的跨域 XmlHttpRequest。这可以防止 XSRF。
- 您可以拥有一个带有返回 JSONP 的 src 的脚本标记 - 在对 Javascript 函数的调用中填充了一些 JSON(比如“Foo”)
- 您可以在返回 JSONP 数据时调用的页面上执行一些“foo”实现,并且您可以使用传递函数的 JSON 数据执行操作
为什么通过 JSONP 接收跨域数据可以接收,但如果通过 JSON 接收则不行?
是否存在 JSON 倾向于允许 XSRF 而 JSONP 不是的假设?如果是这样,除了 JSONP 是某种不会提供启用 XSRF 的数据的事实数据格式之外,还有什么理由吗?为什么选择 JSONP 而不是 XML 上的任意根标签?
提前感谢您的回答,请在无法弄清楚这一点后让我的大脑再次工作。