AJAX应用程序中的引用函数问题.

有人能解释一下在下面的场景中如何正确地调用JavaScript函数吗?

选择 | 换行 | 行号
  1. #...XMLHttpRequest Object has been created outside the loop e.t.c.
  2.  
  3. for(var cnt=0; cnt < 5; cnt++)
  4. {
  5. #...some code here
  6.  
  7. ajaxObj.open("GET", url, true); 
  8. ajaxObj.onreadystatechange = dispValue; # Line 200: Problem Point
  9.  
  10. #Another option I tried - function(){dispValue();}; #Line 210
  11. ajaxObj.send(null);
  12.  
  13. function dispValue()
  14. {
  15.  if(ajaxObj.readyState == 4)
  16.   {
  17.   if(ajaxObj.status == 200)
  18.     {
  19.     var resp = ajaxObj.responseText;
  20.     #resp += resp; #Line 250
  21.     alert(resp);
  22.     }
  23.   }
  24. }
  25.  

1.我已将该方法用于
200号线
在应用程序的其他部分,它工作得很好.但是,此行一直返回错误
未定义DispValue
对于Firebug,IE什么都不做.
2.我的替代方案启用了吗
210号线
允许吗?
3.第二个问题是
250行
,我想在其中添加
响应文本
在循环中反复出现.回答是数字,例如45、72、23.
请忽略错误的行号顺序--这只是为了清楚起见.
开发平台
-Windows XP家庭版
-Firefox/Firebug、IE和Opera浏览器
-PHP、MySQL

# 回答1


因为AJAX是异步的,所以您无法控制顺序.
为此,请在第一个请求达到ReadyState 4时发出请求.
您正在重用相同的AJAX对象.您需要创建新的版本才能同时使用5个版本.

标签: Javascript

添加新评论