跨域就是浏览器为了保证安全,增加的同源限制,其实请求是发出了,服务器也响应了,但是被浏览器劫持了。所谓的同源是指,域名、协议、端口均相同,浏览器才会觉得符合要求,一旦有一个不同源,浏览器便会触发安全机制

同源策略:

1、同源就是两个页面相同的协议,主机(域名)、端口,浏览器会对不同源的脚本或文本的访问方式进行限制

2、页面中的链接,重定向以及表单提交不会受到同源策略的影响,允许跨越资源嵌入

跨域解决的办法:

1、JSONP:

原理:<script>标签不受跨域限制,所有的src属性都不受同源限制,比如<img>

JSONP缺点:只支持get请求,不支持其他类型的请求,如果添加别的请求会报错415状态码的错误,格式不正确

优点:兼容性很好,可以在古老的浏览器中运行

2、cors:

cors是一个W3C标准,全程“跨域资源共享”它允许浏览器向跨源服务器,发出XMLHttpRequest请求

解决跨域三种方案:

第一种:使用ajax的jsonp

第二种:使用jquery中的jsonp插件

第三种:使用cors使用该方式

posted on 2019-11-18 15:25  小菟同学  阅读(224)  评论(0编辑  收藏  举报

……