php - IE 中的语法错误? -ajax 和 Js

标签 php javascript ajax

我有这样的代码行:(JS)

numOfprocess = parseInt(xmlDoc.getElementsByTagName('process_count')[0].childNodes[0].nodeValue)
for (i = 1; i <= numOfProcess; i++)
{
processStatus = xmlDoc.getElementsByTagName('proccess' + i)[0];
if(processStatus.childNodes[0].nodeValue == false)
{...}
}

每次我使用此语法时,都会出现错误“需要对象”,而在 Firefox 中一切正常。 (...只是为了解释)

我尝试像这样进行一些调试:

alert(processStatus.childNodes[0].nodeValue) 

结果是 0,所以 var 没问题。 (也曾在 ff 工作过...)

XML:

         <process_count>2</process_count>
         <Application_Status>
                        <proccess2>1</proccess2>
         </Application_Status>

另一件事是,对于 i=1 来说可以,但对于 i=2 则不行。

谢谢。

最佳答案

索引从0开始,所以如果你有三个项目,它们对应的索引是012,所以你需要循环:

for (i = 1; i <  numOfProcess; i++)

而不是:

for (i = 0; i <= numOfProcess; i++)

编辑:

您不需要 for 循环来访问数据,您可以通过以下方式轻松访问所需的值:

var processId = xmlDoc.getElementsByTagName('process_count')[0].childNodes[0].nodeValue;
var processStatus = xmlDoc.getElementsByTagName('process'+processId)[0].childNodes[0].nodeValue;

但是,我建议重新考虑您的 xml 模式,因为您不需要多个进程状态,为什么不做一些简单的事情,例如:

<application>
    <process id="2" status="1" />
</application>

关于php - IE 中的语法错误? -ajax 和 Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3656950/

相关文章:

javascript - php : transfering variables from Ajax to php 中的未定义索引

javascript - 如何暂时用新的 rl.qu/estion 覆盖之前的 rl.qu/estion?

javascript - codeigniter auth(Tank Auth) 无缘无故地将我注销(即可能是过载)

jquery - jquery 自动完成中的文本字段锁定 - 仅允许在自动完成选项内提交

php - 检查重复记录

php - 在 Laravel 5 中发送带有不同回复的电子邮件

php - 如何编码/加密通过 URL 参数传输的 secret 数据?

php - 如何为 XAMPP 更新我的 PHP 版本

javascript - 从外部 Controller 调用 Angular JS

jQuery - 使用 AJAX 从另一个页面加载帖子表单