Javascript等待Ajax内容加载

时间:2013-07-18 11:41:54

标签: javascript dom google-chrome-extension

我是javascript的新手,正在编写遍历DOM。该页面使用“复选框”来过滤结果。使用Ajax显示结果。有4级复选框。

大父母      亲          儿童
           大孩子。

对于每个级别,我希望javascript单击复选框并等待加载内容。

现在它检查并遍历整个DOM,但不等待。

我想要的是,当元素被CLICKED时,只有在刷新Ajax结果时才应调用下一个函数decisionread()。

我尝试过使用setTimeOut和其他延迟方法,但是他们说它是单线程的,因此不起作用。有什么想法吗?

for(i = 0; i< mgtNode.length; i ++){     mgtNode [I]。点击();

for (j = 1; j < stateNode.length; j++)

{
    stateNode[j].click();
    var read = decideRead();
    if (read)

    {
        alert('we have read the data, now skip further reading below');
        stateNode[j].click(); // we have read the data, now skip further reading below.
        continue;

    }


    for (k = 0; k < inTypeNode.length; k++) {

        inTypeNode[k].click();

        var read = decideRead();

        if (read)

        {

            alert('we have read the data, now skip further reading below');

            inTypeNode[k].click();
            continue;

        }




        for (l = 0; l < jobNode.length; l++)

        {
            jobNode[l].click();

            while (true) {
                if (new Date() - startTime >= 5000) {
                    break;
                }
            }


            saveData();

            jobNode[l].click();
        }

        inTypeNode[k].click();


    }
    stateNode[j].click();

}
mgtNode[i].click();

}

1 个答案:

答案 0 :(得分:0)

您应该使用onreadystatechange进行此操作。请检查此http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp