JSONP处理跨域详解

背景:同源策略导致非同源的请求收到限制,jsonp是处理跨域比较简单的一个方式

  • 什么是同源策略???

同源策略是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+ 域名 + 端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源

  • jsonp处理跨域的原理???

jsonp的原理通过<script>标签src属性,发送带有callback参数的GET请求,服务端将接口返回数据拼凑到callback函数中,返回给浏览器,浏览器解析执行,从而前端拿到callback函数返回的数据。因为script和img的src或者href在浏览器访问的是静态文件,所以浏览器对这些情况不受限制,因为这些静态文件访问都是获取内容,所以访问的方法都是get请求,这也就是jsonp为什么只支持get方法的原因了。
如图展示,当访问静态文件的时候是直接可以获取,不存在跨域的。jsonp也是借助这个“漏洞”来处理跨域的。
在这里插入图片描述

  • 具体如何去实现???

1、html代码在这里插入图片描述
2、node.js服务端代码
在这里插入图片描述
3、浏览器效果图
在这里插入图片描述 PS:希望你可以在面试或者工作中用到哟,还有就是html代码可以用jquery,反正做到向后端发送一个get请求,返回的参数通过回调的函数返回回来