美文网首页
跨域的几种方式

跨域的几种方式

作者: 三九而成 | 来源:发表于2018-05-19 15:43 被阅读0次

    一:跨域资源共享CORS

        CORS是w3c标准,它允许浏览器向其他服务器发起xmlhttprequest请求。

        CORS需要浏览器和服务器共同支持,毕竟xmlhttprequest是浏览器提供的api,浏览器不支持发不了请求。

        1.对于一个简单的CORS请求,浏览器会直接在请求头里面添加一个Origin:http://localhost:63342,请求的协议,域名,端口,这个步骤是浏览器自动完成的。

        2.外部服务器那边会检查,当前请求origin是否可以访问服务器

    Access-Control-Allow-Origin设置了*表示可以是任何域名,当前注视掉了,所以浏览器会抛出一个错误

    服务器拒接了这一次请求。

    另外cors默认是不发送cookie

    里面没有cookie这个选项

    如果需要发生cookie,需要另外设置

    1,在服务端添加Access-Control-Allow-Credentials:true

    2,在xmlhttprequest请求端时候设置xhr.withCredentials:true

    这样浏览器发送请求端时候会带上cookie

    二JSONP的请求

        jsonp是利用了script标签来请求其他服务器的数据。

        这个也是需要前后端配合

        前端这边我手写了一个

    对应返回后的数据

    第一张图是请求的是标签script,第二张图是标签里面带来的数据,就是callback参数后面的回调函数包裹着需要的数据。

    合起来,其实实际上就是html页面引入了一个script,只不过这个script有些特殊,里面是一个函数调用的方法。

    相关文章

      网友评论

          本文标题:跨域的几种方式

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