扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ajax如何将返回值赋值给js里面的变量们?
如果有一大串变量值通过ajax从别的文件那里得到然后分别赋给js里面的很多变量,有什么好办法?
将php文件里面的返回值传到js的两个变量中去,
得到的js文件里面两个变量分别为
bo_count=3
和
hd_count=3
PHP code<?php
//生成json串,这个你可以考虑php自带的json_encode函数,也可以google个开源的php json类
$return = "{'bo_count':'123','hd_count':'456'}";
?>
<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=3\nbd_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 + ';');
}
婵犵鈧啿鈧綊鎮樻径鎰畺闁靛ň鏅滄慨婊堟偨椤栨稓鎽冮柟鐑╂櫊瀹曟岸宕堕埡鍌滄殸闂佽鍨伴崢鏍姳閿涘嫭鍠嗘い銈呭姬婵☆偅婢樺Λ妤呮偂濞嗘挸瀚夐柍褜鍓熷顒侊紣娓氣偓閻涙捇鏌涘┑鍛樂缂佹鐭傞獮搴ㄥ焵椤掑嫬瀚夋い鏍ㄧ懁缁诲棝鏌熼褍鐏茬紒杈ㄧ箞閺屽洭鏁愰崟顓犳澖闁荤姳闄嶉崹钘壩i崟顖涘殜闁硅泛顫曢埀顒€锕︾槐鏃堝箣閻愬弬妤呮煛閸偄鐏﹂柛瀣墬缁傛帞鎹勯搹瑙勵啈闂佸搫瀚烽崹閬嶅磻瀹ュ鍎嶉柛鏇ㄥ墯娴犳ê霉閿濆棗鈻曢柍褜鍓氶弻銊ф閻愬鈻曢悗锝傛櫇椤忛亶鏌曢崱顓熷