2012-12-08 58 views
1
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初學者 - AJAX虛假和真實的區別?

<?php 
    echo("hello"."<br>".$_GET["fname"].$_GET["lname"]); 
?> 
在此代碼我改變爲FALSE阿賈克斯狀態

但還是老樣子工作一樣TRUE u能告訴什麼/黑白真假的區別?如果我改變錯誤什麼將在服務器端

+0

此鏈接可能對未來有所幫助:https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest?redirectlocale=zh-CN&redirectslug=XMLHttpRequest#open%28%29 – str

回答

2

我想你正在談論open函數的第三個參數。它指示請求是否應該是異步的。在這兩種情況下,完全相同的請求將被髮送到服務器。差異將在客戶端。如果您使用異步(推薦用於AJAX),客戶端瀏覽器在執行請求期間不會凍結,並且send方法將立即返回。一旦服務器上的執行完成,您訂閱的回調將被調用。

如果將參數設置爲false,則send方法會在向服務器發出請求的整個執行過程中阻止並凍結客戶端瀏覽器。這完全違背了AJAX的全部目的,但它被一些希望在成功回調之外使用請求結果的人使用。不要犯同樣的錯誤。

我強烈建議你總是使用異步AJAX請求(true),而不是阻止調用。