欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Javascript在IE中总报错??缺少对象!

程序员文章站 2024-01-11 13:00:40
...
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对象,因为这里是循环使用的,放在文件开头加载会出错!