有什么理由不使用JSONP吗?
本文关键字:JSONP 什么 理由 | 更新日期: 2023-09-27 18:08:25
我正在开发一个REST客户端,它将与一个名为attask的项目管理服务通信。
他们的REST API很方便,因为它返回简单的JSON,很容易在我的代码中使用。因此,我决定用jQuery构建界面。我很快发现,由于同源策略,我不能从我的站点使用AJAX到任务API。我的第一个想法是使用RESTSharp开发一个服务器端rest客户端,它将作为我的javascript和任务API之间的桥梁。
在我开始这个实现之前,我发现了JSONP。这对我来说是新的。事实证明,任务API支持JSONP。jQuery本身支持JSONP,所以突然之间我又回到了制作一个完整的jQuery接口,而不需要服务器端干预。
我的问题是,有理由不使用JSONP吗?如果多花点力气构建服务器端REST客户端并使用真正的AJAX调用,会有什么好处吗?
请记住,JSONP正是您正在寻找的:同源策略的解决方案。随之而来的是同源策略所要避免的所有安全问题。好处是,您可以选择一个您信任的特定域。缺点是,如果那个域名决定违反你的信任,他们现在可以在你的网页上运行任意javascript代码,允许他们向自己的服务器发送任何他们想要的信息。
如果你相信他们,那就去做。如果没有,请设置自己的服务器端代理。