同源策略是浏览器的一项安全策略,浏览器只允许js 代码请求和当前所在服务器域名,端口,协议相同的数据接口上的数据,这就是同源策略.
也就是说,当协议、域名、端口任意一个不相同时,都会产生跨域问题,所以又应该如何解决跨域问题呢?
以下是三种解决跨域问题的方法:
jsonp跨域的原理是什么?
动态在页面中创建一个script标签,使其src属性指向后端数据接口,也就是说,script会发送一个get请求到src指向的地址,而这个src地址就是我们请求的服务接口。
其中callback参数就是核心所在,因为后端数据接口必须返回一个js函数的调用字符串(如cb(‘{“name”:“zs”,“age”:18)}’)将要返回给前端的数作为函数的实参,当script标签加载完毕之后会在浏览器中执行后端返回的函数调用
这里必须使用script标签,否则返回的数据不会被当作js执行
借助script标签中的src 地址写入url地址并且用?拼接要传入的参数

讯享网
这里可以看到,我们声明了一个func函数,但没有执行,如果服务端接口到get请求,返回的是func({message:‘hello’}),这样的话在服务端就可以把数据通过函数执行传参的方式实现数据传递
服务端代码:
讯享网
在后台响应头中设置 res.setHeader(“Access-Control-Allow-Origin”,“*”)//*代表着任何一方的请求和响应
以下代码一般解决跨域请求数据问题
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/150615.html