跨域数据传输:了解 JSONP 及其起源
JSONP(带填充的 JSON)作为特定问题的解决方案出现Web 开发的早期。
浏览器安全限制禁止跨域请求,导致网站无法访问访问托管在不同域上的数据或服务。 JSONP 通过利用 <script> 的能力巧妙地规避了这个问题。 </script>
JSONP 的工作原理
使用 JSONP 时,网站会向支持 JSONP 的服务器发出请求,并指定回调函数参数。服务器通过使用指定的回调名称将 JSON 数据包装在函数调用中来进行响应。
例如,对期望“回调”参数的服务器的请求可能如下所示:
http://www.example.net/sample.aspx?callback=mycallback
服务器的 JSONP 响应可以是:
mycallback({ foo: 'bar' });
然后此响应作为 JavaScript 执行,调用客户端上的预定义回调函数
为什么创建 JSONP
创建 JSONP 的目的是为网站提供一种在不违反跨域限制的情况下访问其他域数据的方法。它使开发人员能够克服浏览器安全协议施加的限制。
虽然 JSONP 对于支持旧版浏览器仍然有用,但由于安全问题,CORS(跨源资源共享)作为替代方案的出现降低了其相关性以及请求处理的限制。尽管如此,JSONP 对于某些跨域数据传输场景仍然是一个有价值的工具。
以上是JSONP如何解决跨域数据传输限制?的详细内容。更多信息请关注PHP中文网其他相关文章!