面试-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"
});
当浏览器接收到这个响应时,浏览器实际上是在执行一段脚本代码(因为你用了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧