2011-04-08 38 views
1

所以我對這個概念很陌生。AJAX有些問題

那麼爲什麼不去headfirst :)我不明白的一些事情;

如果js被禁用會發生什麼?

如果使用mysql數據庫(即;檢查表格等)爲什麼不只是使用PHP?

回答

1

要確認別人說了什麼,禁用Javascript也將禁用AJAX調用。畢竟,AJAX代表「異步Javascript和XML」。


爲了解決爲什麼你不能只使用PHP,有一些事情,沒有它就做不到。 PHP非常適合用初始信息加載頁面,但在加載頁面後,實際上需要重新加載頁面以加載其他內容。 AJAX可以讓你解決這個麻煩。

對於表單驗證的例子,A​​JAX可用於在人填寫時驗證信息。否則,每次有人填寫表單中的其他字段時,都需要重新加載頁面。

另一個例子來自我所從事的一個項目。該表格需要郵政編碼,並根據輸入的郵政編碼加載相應的城市和縣。使用嚴格的PHP,我需要客戶端下載HTML/JS中嵌入的整個zip表(至少會爲下載添加另外的100k)。

使用AJAX,我可以解決這個問題。用戶可以輸入郵政編碼,這會觸發一個AJAX調用,用於下載我需要的幾行(爲了比較,這將少於幾百個字節)。

[編輯:]此外,小貼士,因爲你說你是新來的AJAX。如果您處理某種形式的身份驗證(登錄等),請記住在AJAX頁面上自行驗證用戶。否則,棘手的用戶將能夠訪問數據庫的敏感信息。

0

我相信如果js被禁用,什麼都不會發生。你需要js來獲取數據。

如果您想使用mysql數據庫,您可以使用js訪問php腳本,該腳本可以返回從數據庫收集的任何數據,而不是在頁面中執行。

0

AJAX是Javascript(客戶端)訪問PHP/ASP /使用任何服務器端語言的一種方式。這意味着,如果你有一個PHP腳本來從你的MySQL數據庫獲取一些數據,並且想在用戶點擊一些隨機按鈕時運行該腳本,那麼AJAX可以做到這一點(異步),你不必重新加載頁面到執行PHP腳本。 如果Javascript是晦澀的,AJAX將不起作用。

1

Ajax只是增加了用戶體驗,並允許Web應用程序更像用戶的桌面應用程序。因此,他們可以刪除一條記錄並保留在同一頁面上而無需重新加載,只需讓記錄消失即可。

並且記得在服務器端進行驗證,即使您在客戶端進行驗證。你的客戶端最弱,因爲有人可以直接將值直接提交給你的腳本,所以總是檢查服務器端和做客戶端,如果你想添加一些不錯的效果等。

但你會總是需要記住,那裏的人有JavaScript禁用是一個安全策略或只是因爲他們的偏執狂。所以,當你沒有JS啓用你的JavaScript和AJAX請求將無法正常工作。所以在開發的時候,你需要確保如果javascript不是他們的操作,就像正常的HTTP表單一樣提交表單,這將允許所有那些偏執狂的人也使用你的應用程序:D。

或者你總是可以拒絕訪問那些沒有啓用Javascript的人,但這不是很好......所以,如果你想檢查他們是否有JavaScript啓用結帳 - http://www.w3schools.com/TAGS/tag_noscript.asp - 爲例。

1

AJAX是一個基於Javascript客戶端的技術。如果js被禁用,它就不起作用。 Php是基於服務器的技術。

在Php中,您可以編寫由服務器以動態方式構建的頁面。一旦建成,它們將作爲html發送給客戶端。

使用JavaScript(和Ajax),你可以調用服務器只是要求一些DATAS(提示:看JSON)或只是一個小的HTML片段是在當前頁面中插入直接通過瀏覽器不請求全從服務器刷新。

使用js和AJAX,您可以實現非常豐富的客戶端體驗,而無需每次重新加載完整頁面。