WEB开发网
开发学院WEB开发Ajax ajax如何将返回值赋值给js里面的变量们? 阅读

ajax如何将返回值赋值给js里面的变量们?

 2009-12-22 11:19:57 来源:WEB开发网   
核心提示:如果有一大串变量值通过Ajax从别的文件那里得到然后分别赋给js里面的很多变量,有什么好办法? 将php文件里面的返回值传到js的两个变量中去,ajax如何将返回值赋值给js里面的变量们?, 得到的js文件里面两个变量分别为 bo_count=3 和 hd_count=3 PHP code<?PHP//生成jso
如果有一大串变量值通过Ajax从别的文件那里得到然后分别赋给js里面的很多变量,有什么好办法?


php文件里面的返回值传到js的两个变量中去,
得到的js文件里面两个变量分别为
bo_count=3

hd_count=3


PHP code<?PHP
//生成json串,这个你可以考虑PHP自带的json_encode函数,也可以google个开源的PHP json类
$return = "";
?>
<script type='text/javascript'>
var content = eval("(<?PHP echo $return;?>)");//这里的$return相当于ajax发送后服务器端返回的串
for(var i in content){
  window[i] = content[i];
}
alert(bo_count);//123
alert(hd_count);//456
</script>



window['abc'] = 1;
等同于设置全局变量abc等于1,这个不重要,重要的是eval完json串后,你可以按照js访问对象属性的方式读值,想拿什么值就拿什么值.
JScript code<script type='text/Javascript'>
var content = {
  bo_count : 123
  hd_count : 345
}
alert(content['bo_count']);
</script>

json串效率还是挺高的,之前用xml格式交互的方式,解析麻烦得多.



file.PHP中应写作
echo 'bo_count='.$bocount=count($bo_array[0]);
echo "n";
echo 'bd_count='.$bocount=count($bo_array[0]);

这样在js中 contents 的值为 "bo_count=3nbd_count=3"

也可以这样
file.PHP中写作
echo 'bo_count='.$bocount=count($bo_array[0]);
echo ";";
echo 'bd_count='.$bocount=count($bo_array[0]);

这样在js中 contents 的值为 "bo_count=3;bd_count=3"

总之要通过ajax传递合法的js语句

然后在js中写作
success:function(contents) {
 eval(contents);
}



用json变量,此法我屡试不爽。
JScript code

  function(data){
    var myjson='';
     eval('myjson=' + data + ';');
  }

Tags:ajax 如何 返回

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接