JavaScript php 缺少對象
query0=mssql_query("select * from tb_xm where xm_pcid='1'");
$y=1;
while($myrow0=mssql_fetch_array($query0)){
?>
function datawrite(){
if(xmlHttp.readyState==4 || xmlHttp.readyState==0){
xmlHttp.open("GET","kspf_conn1.php?online_xm="+""+"&online_user="+""+"&online_ytbyx="+ytbyx+"&online_mbnr="+mbnr+"&online_zjzb="+zjzb+"&online_ffjs="+ffjs+"&online_xyqj="+xyqj+"&online_jdjf="+jdjf+"&online_zhpf="+zhpf+"&online_sum="+sum,true);
xmlHttp.send(null);
}else{
alert("datawrite()中xmlHttp對象忙!");
setTimeout('datawrite()',1000);
}
}
datawrite();
}
?>
以上代碼中迴圈讀取項目表格中資訊並通過XML開啟kspf_conn1.php錄入資料庫,經檢查kspf_conn1.php檔案無誤。但輸入以上程式後出現缺少對象的錯誤,其中online_xm值代表項目名稱,進入資料庫後所可看到所有項目的名稱均改為最後一個項目的名稱。按理來說,寫入的應當是不同的項目名稱啊?
回複討論(解決方案)
xmlHttp對象在哪定義的?
我載入了一個js指令碼在php的最開始位置,這裡略去了。
js 出錯應在產生後的頁面中排查
你在迴圈中定義 js 函數 function datawrite()。由於 $y 在迴圈中並未發生變化,所以只是重複定義 datawrite1 函數。很自然就只有最後一輪的定義才會生效
我自己解決了,原來是出了3樓的建議外還有xmlhttp生命週期的問題,應當在每次使用前都聲明一下xmlHttp對象,因為這裡是迴圈使用的,放在檔案開頭載入會出錯!