問題描述: 你好!我的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