手记

js跨域的解决多种方案

跨域的解决方案
1域名组成:

1.协议http 子域名www 主域名abc.com 端口号8080 请求资源source、jquery.js、

解决方案
  1. 使用代理
  2. JSONP
    • ==JSONP只能处理get请求,这是其局限性==
$("#search").click(function(){ 
        $.ajax({ 
            type: "GET",    
            url: "http://127.0.0.1:8000/ajaxdemo/serverjsonp.php?number=" + $("#keyword").val(),
            //将数据格式改为JONP 以及jonp属性为:‘callback’这个为任意名
            dataType: "jsonp",
            jsonp: "callback",
            success: function(data) {
                if (data.success) {
                    $("#searchResult").html(data.msg);
                } else {
                    $("#searchResult").html("出现错误:" + data.msg);
                }  
            },
            error: function(jqXHR){     
               alert("发生错误:" + jqXHR.status);  
            },     
        });
    });

3.XHR2

  • HTML5提供的XMLHttpRequest Level2实现的跨域访问以及其他的一些新功能
  • IE10以下不支持
  • //在服务器端头部添加
    header('Access-Control-Allow-Origin:*');
    header('Access-Control-Allow-Methods:POST,GET');
0人推荐
随时随地看视频
慕课网APP