面试-JS Web API-JSONP和cors

JSONP( JSON with Padding )

JSONP是通过 <script> 标签来实现跨域数据传输的技术。它是为了绕过浏览器的同源策略限制而诞生的。

  • 访问一个网址,服务端一定返回一个html文件吗? ---不是的
  • 服务器可以任意动态拼接数据返回的,只要符合html格式的要求就可以。

JSONP的工作原理:

  • 客户端发送请求:客户端创建一个 <script> 标签,并将数据请求的 URL 设置为该标签的 src 属性。同时给 API 一个 回调函数 名称,告诉它,等会儿把数据通过这个函数传回给我。
<script src="http://example.com/data?callback=handleResponse"></script>

这里通过 callback=handleResponse 告诉 API:我希望你返回的数据用 handleResponse 这个函数来处理。

  • 服务器返回响应:服务器会将返回的数据包装在一个回调函数里,而不是以传统的JSON格式返回,并返回给客户端。
handleResponse({
  "name": "TechRxRepair",
  "location": "Tulsa"
});

当浏览器接收到这个响应时,浏览器实际上是在执行一段脚本代码(因为你用了

posted @ 2024-09-12 18:37  一个甜橙子  阅读(15)  评论(0)    收藏  举报