跨域解决方式

来源:互联网 发布:vb label 透明 编辑:程序博客网 时间:2024/05/17 08:55

跨域问题

1、服务端解决办法:

使用如下标头可以接受全部网站请求:

header('Access-Control-Allow-Origin:*')

  使用如下标头可以接受指定网站请求:

header('Access-Control-Allow-Origin:http://www.abc.com')

  所以,服务器写法:

header('Access-Control-Allow-Origin:*');

  ajax写法和平常一样:
  

<script>    $.ajax({        url:'http://192.168.1.124/homekoo.com/zde/cors_1.php',        dataType:'json',        success:function(data){            alert(data.msg);        }    });</script>

2、使用jsonp跨域请求

服务器:

不修改

客服端

<script>    $('#btn').on('click',function(){                $.ajax({                    url: 'http://www.baidu.com',                    type: 'GET',                    dataType: 'JSONP',                    jsonp: 'callback',                    jsonpCallback: 'callback1',                    success:function(data)alert(data.username)                    }                })            });    });</script>
在ajax请求中,使用jsonp数据格式,所以讲dataType参数设置为jsonp,平常,还加到了jsonp和jsonpCallback两个参数,结合代码,不难看出这两个参数作用:

  jsonp的作用是设置服务器获取回调函数名称参数的下标参数,jsonpCallback的作用就是设置回调函数,相当于input标签中name和value,jsonp对应name,value对应jsonpCallback。

详细解释链接(别人的东西)

http://www.cnblogs.com/duanhuajian/p/3152617.htmlhttp://www.360doc.com/content/14/1030/09/5054188_421070813.shtml