如果有一大串變數值透過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 + ';');
}