美文网首页
跨域解决方案

跨域解决方案

作者: 叫我辣条大人 | 来源:发表于2019-09-26 17:08 被阅读0次

    跨域的解决方式
    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

    相关文章

      网友评论

          本文标题:跨域解决方案

          本文链接:https://www.haomeiwen.com/subject/tkdnuctx.html