问题描述: 你好!我的XMLHTTPRequest对象在准备好时会执行一些操作,因为我将接收到的responseText分解并作为参数发送给myFunction() 现在,我需要调用myFunction()' n'次,响应文本的子串作为参数。循环不工作没有alert()在ajax readystate()
这个工程:
myAjaxObj.onreadystatechange=function()
{
if(myAjaxObj.readyState==4)
{
if(myAjaxObj.status==200)
{
myFunction(myAjaxObj.responseText, id)
这并不工作:
myAjaxObj.onreadystatechange=function()
{
if(myAjaxObj.readyState==4)
{
if(myAjaxObj.status==200)
{
var count i=0;
for(i=0; i < 5; i++)
{
[b]alert("Without this it wont work") [/b]
myFunction(myAjaxObj.responseText, i);
}
基本上,for循环中的代码不会运行,除非警报()没有注释。 我读过关于JavaScript关闭的地方,它有点让执行/渲染得到同步的事实
什么是解决方案?
你能确定这个问题说明了你的想法吗?第一个示例Works?好吧,它听起来对我来说很合适。然而,根据第二个例子的头文件,第二个例子不起作用,但第二个例子下面的描述说明了它的作用。这是什么? – AnthonyWJones 2009-10-22 13:17:27
@Anthony: 第二个ex,“works”wid alert()enabled ... 如果我评论警报,那么它不会。 它是渲染和代码执行之间的某种同步问题吗? – empcarl 2009-10-28 07:32:16