美文网首页
ajax跨域受限的常用解决方法

ajax跨域受限的常用解决方法

作者: Tangbh | 来源:发表于2017-03-13 13:25 被阅读35次

    域名地址组成:协议 子域名 主域名 端口号 请求资源地址

    当协议到端口号中任意一个不相同时,就算作跨域。
    js出于安全考虑,不允许跨域调用其它页面的对象,因为js同源策略的限制。

    跨域请求方法:
    1服务器代理
    通过在同域名的web服务器上创建一个代理。
    例:服务器A,服务器B,服务器A的后台来调用服务器B的服务,然后把响应结果传给前端,这样前端调用同域名的服务器A的服务就和调用服务器的服务效果相同了。

    2使用jsonp协议(仅限于GET方式,同时需要前端后端配合)
    在某个页面中:
    <script>
    function jsonp(json){
    alert(json["name"]);
    }
    </script>
    <script src ="域外的js文件"></script> //原理:<script>标签可以引入域外的资源文件

    在域外的js文件中
    jsonp({.........}) //json格式的数据

    3、html5提供的xmlhttprequest level2(XHR2)可以实现跨域访问(ie10以下不支持)
    在服务器端做一些改造:
    header("Access-Control-Allow-Origin:"); //允许访问的域名,表示所有的
    header("Access-Control-Allow-Methods:POST,GET"); //允许访问的请求方式

    相关文章

      网友评论

          本文标题:ajax跨域受限的常用解决方法

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