如何在页面加载后第一次调用Ajax?

时间:2011-01-12 04:12:11

标签: ajax

这是我的代码:

  ...
    <script type="text/javascript">
function ajaxcall(div, page)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById(div).innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET",page,true);
xmlhttp.send();
}
</script>
</head>
<table border="0" cellpadding="0" cellspacing="0">
 <tr>

  <td width="309" valign="top">

  <div width="309" height="270" id="menu"></div>
   <script type="text/javascript">ajaxcall('menu', 'map2.php')</script>
....

我想要在页面加载时执行ajax并附加到div“菜单!map2.php但它没有,我做错了什么?

1 个答案:

答案 0 :(得分:1)

要检查的事项:

调用脚本时,您使用的DOM是什么?

必须调用该函数才能执行请求。更重要的是,函数中使用的dom元素必须存在。要确保节点存在,请在内联脚本标记中关闭div之后放置函数调用,或者将事件处理程序附加到窗口加载事件或使用js框架domready / domloaded / ready(相同的事情,不同的名称)事件

请求被发送? 使用Firefox和Firebug扩展程序将其移除

是否有任何错误/异常不允许js运行? 使用firebug检查错误

希望这有帮助

PS:如果您不能使用firebug附加函数来警告错误,则应该在发出错误请求时调用xhhtrequest.onerror