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

王朝学院·作者佚名  2009-12-22  
宽屏版  字体: |||超大  

如果有一大串变量值通过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 + ';');

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有