1、由于存在跨域的问题,不能使用ajax/post/get方法,于是找到了getScript 用法:
jQuery.getScript("http://xxxx/xx.php?param1=value1¶m2=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