如果有一大串變量值通過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 + ';');
}
資料引用:http://www.knowsky.com/540946.Html