跨域解决方案

跨域的解决方式
1:JSONP: 只支持get请求
方式一:创建一个script标签,然后将回调函数作为参数,传给服务器

function callback (res) {}

var JSONP = document.createElement("script")

JSONP.type = "text/javascript"

JSONP.src = "url"

document.getElementsByTagName('head')[0].appentChild(JSONP)

方式二:直接使用script标签

function jsonpCallback(res){}

script type="text/javascript" src="http://crossdomain.com/services.php?callback=jsonpCallback

服务器返回数据:

jsonpCallback(data)

总结:

script请求的数据,是直接作为js代码进行运行的。

将回调函数的的名字传给服务器,服务器返回数据给前端时,将数据已如上形式返回,前端接收到后相当于直接调用了jsonpCallback这个函数

2:CORS协议
方法:前端一般什么也不做,只需要后台进行设置即可。后台在响应体中设置

如果需要跨域携带cookie,前端请求时需要设置withCredentials为true

Access-Control-Allow-Origin

Access-Control-Allow-Credentials
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目1: 什么是同源策略 同源策略限制了从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离...
    馒头Mum阅读 5,505评论 0 1
  • 同源策略: 是由NetScape提出的著名的安全策略,所有支持javaScript的浏览器都使用这个策略。同源策略...
    RichardBillion阅读 14,016评论 2 12
  • 什么是同源策略 同源策略是指浏览器处于安全方面的考虑只允许本域下的接口交互。不同源的客户端脚本在没有明确授权的情况...
    夜流光丶阅读 1,878评论 0 0
  • AJAX跨域产生的原因? 1、浏览器限制 2、XHR(XMLHttpRequest)请求 3、跨域(域名不同、端口...
    BraveHeartLi阅读 9,923评论 0 0
  • 介绍 Maven 是一个跨平台的(用Java语言编写)项目管理工具.Maven 主要服务于基于Java平台的项目构...
    飞鱼和大海阅读 1,924评论 0 1