當你掌握它時,它確實很容易。如果你使用jQuery的AJAX,http://api.jquery.com/jQuery.ajax/那就更簡單了 - 但除非你打算使用JavaScript的負荷不同意這種臃腫您的網站(和使用google's cdn吧)
在JavaScript中,你做一個XHR請求GET或POST到你的PHP腳本。通常你需要爲視圖創建一個單獨的文件給任何AJAX請求,因爲AJAX請求不應該帶回網頁的模板(即如果你想返回'1',它應該只返回'1',不<html><body>1</body></html>.
...等
例:
blah.com/index.php需要一些AJAX請求
blah.com有JavaScript代碼通過發送datastring/URL創建Ajax請求(如AJAX .php?act = verify_email & email = a @ c
然後blah.com/ajax.php會有一些PHP代碼可以切換($ _ GET ['act']或$ _POST ['act']) case'聲明'verify_email'。該代碼將運行s ome正則表達式或其他,並返回1或0來表示1(有效),0(無效)。在「onreadystatechange的」持有請求的狀態,所以我認爲它通常是一個功能,即:
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
您訪問返回「0」或通過xmlhttp.responseText,其中XMLHTTP是var xmlhttp =new XMLHttpRequest();
「1」與形式根據你的情況,的onblur(當他們搬出元素的焦點),你可以運行AJAX請求發送的輸入值,:
然後你只需運行請求
xmlhttp.open("GET","ajax.php?act=verify_email&email="+document.getElementById('email').value,true);
xmlhttp.send();
更新然後在ajax.php腳本中作爲GET或POST r equest,你可以運行你的驗證查詢來檢查用戶是否已經存在,或者用戶名是否無效等等。請求完成後,它將返回responseText值中的結果。如果可以的話,使用螢火蟲的控制檯檢查AJAX請求的結果,它非常有用。
我不問javascript中的函數,有什麼要求是什麼在我的PHP腳本中返回我的響應。我會使用xmlHTTP.responseText,但我如何從我的PHP發送信息,稍後我可以通過xmlHTTP.responseText訪問? – Kraken
只是迴應它,這就是你需要做的。如果您需要驗證用戶名,請將用戶名傳遞給服務器,運行您的查詢以檢查其有效性,然後只是** echo **您希望在xmlHTTP.responseText中顯示的內容,即echo'invalid';或'回聲'有效的電子郵件' – Benno
哦!謝謝! ! – Kraken