ajax跨域

1.服务器端php代理

      有A.com     b.com 2个域名,  可以A.com 通过 ajax 代理代理导A.com/proxy.php  ,proxy.php将接收到的数据通过curl传递到B.com 

      可参考 http://www.impng.com/web-dev/ajax-crossdomain-by-proxy.html

2.jsonp解决方法

     可参考: http://www.impng.com/web-dev/ajax-crossdomain-by-jsonp.html

3.jQuery jsonp的方法实现  

  1. $("#btn").click(function(k){
  2.     //...
  3.     var j = form.serializeArray();//序列化name/value
  4.     $.ajax({
  5.         url:"另一个域名/test.php",
  6.         dataType:'jsonp',
  7.         data: j,
  8.         jsonp:'jsonp_callback',
  9.         success:function(json)
  10.         {
  11.               //返回的json数据
  12.         },
  13.         timeout:3000
  14.     })
  15.     //...
  16. });

    php实现部分

  1. $jsonp_callback=$_GET['jsonp_callback'];
  2. //...
  3. //如果正确
  4. echo $jsonp_callback,'({"msg":"ok"})';
  5. //如果错误
  6. echo $jsonp_callback,'({"msg":"err","info":"因人品问题,发送失败"})';
  7. //...

   

 

 

 

  

posted @ 2012-09-19 13:47  风去无痕  阅读(151)  评论(0编辑  收藏  举报