ajax跨域问题

getScript 与 getJSON的用法

1、由于存在跨域的问题,不能使用ajax/post/get方法,于是找到了getScript   用法:   jQuery.getScript("http://xxxx/xx.php?param1=value1&param2=value2",       function(){               alert(data.name);     });    }   xx.php:   $arr=array("name"=>"xiaohong", "age"=>20);   print 'var data = ' . json_encode($arr);
  返回一段js代码,定义一个data变量,赋值要返回的json数据。

2、由于getScript在IE下有一些BUG,或者说效率问题。把服务器整崩溃了~~于是又使用了getJSON
  用法1:和getScript一样的用法.区别只是回调函数有个参数返回值     jQuery.getJSON("http://xxxx/xx.php",       function(data){               alert(data.name);     });      xx.php:     $arr=array("name"=>"xiaohong", "age"=>20);     print json_encode($arr);         这样存在一些问题,就是IE下会有安全提示。而非IE则完全显示不出。于是使用了callback     用法2: 加入了callback     jQuery.getJSON("http://xxxx/xx.php?jsoncallback=?",       function(data){               alert(data.name);     });          xx.php:     $arr=array("name"=>"xiaohong", "age"=>20);     print $_GET['jsoncallback']."(".json_encode($arr).")";         以jsoncallback作为函数名返回数据。问题解决。
demo依然参考 dsqq.cn    如果大家有更好的解决办法,还请发邮件与我交流 it@spinshine.com
posted @ 2014-02-08 10:31  名字好难起  阅读(156)  评论(0编辑  收藏  举报