初学者 - AJAX错误和真正的区别?

时间:2012-12-08 14:34:20

标签: php ajax

function loadxmldoc()
{
  var xmlhttp;
  if (window.XMLHttpRequest)
  {
     xmlhttp=new XMLHttpRequest();
  }
  else
  {
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

 xmlhttp.onreadystatechange=function()
 {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    } 
 }

 xmlhttp.open("GET","ajax_info.php?fname=sakthi&lname=karthiga",false);

 xmlhttp.send();
}

ajax_info.php

<?php
  echo( "hello"."<br>".$_GET["fname"].$_GET["lname"]); 
?>

在此代码中,我将ajax状态更改为FALSE,但stil的工作方式与TRUE相同 你能告诉他们差异是否为真和假?如果我改变虚假将在服务器端发生什么

1 个答案:

答案 0 :(得分:2)

我想你正在讨论open函数的第三个参数。它指示请求是否应该是异步的。在这两种情况下,完全相同的请求将被发送到服务器。不同之处在于客户端。如果使用异步(建议用于AJAX),客户端浏览器在执行请求期间不会冻结,send方法将立即返回。一旦服务器上的执行完成,您将调用您订阅的回调。

如果将参数设置为falsesend方法将在整个执行服务器请求期间阻止并冻结客户端浏览器。这完全违背了AJAX的全部目的,但有些人想要在成功回调之外使用请求的结果。不要犯同样的错误。

我强烈建议您始终使用异步AJAX请求(true)而不是阻止调用。