計算機, 程序設計
Ajax - 這是什麼? 異步JavaScript和XML:優缺點
現在您可以看到,新技術的使用和應用在互聯網上越來越受歡迎。 其中一個是AJAX。 是什麼 它有什麼特點? 它在哪裡應用? 所有這些問題都可以在本文的框架內回答。
一般信息
有什麼特別之處嗎?
所以,我們已經有了一個大概的AJAX是什麼。 這在實踐中給了我們什麼? 為什麼有關於它的應用程序的積極對話? 這項技術的特點是當您使用它時,您不需要在第一次需要時更新整個頁面。 畢竟,您可以僅向部分請求新數據。 這是方便的(因為你必須等待更少的時間)和經濟(對於那些沒有無限的互聯網)。 然而,為了通知用戶更新,最好使用至少一個下載指示器或者將從服務器通知新數據的文本消息。 由於技術的消耗通常被提及,它不被過時和基於文本的瀏覽器支持。 是的,並且禁用Javascript技術的功能是用戶比許多用戶。 因此,不要濫用AJAX。 如果您不提供提供信息的替代方法,該怎麼辦? 最多只能在網站上顯示信息。 在最壞的情況下,它的外觀會受到很大的影響,用戶不會再回到它。
“Ajax”的優點
- 您可以創建一個方便的Web應用程序,其中界面將具有一些用戶友好的功能,最終將有助於人員和網站的交互。
- 而不是全頁重新加載,部分重新啟動發生。 由此,保存了機器的資源並優化了速度。
- 網站的服務器部分主動與用戶進行交互。
- 使用實現一些想法是方便的。
數據交換
在這裡,例如,我們需要一個反饋表,通過它可以向客戶提供建議。 怎麼辦? 首先,你需要照顧信息的“承載”。 為此,請創建一個XMLHttpRequest對象。 它作為服務器和用戶瀏覽器之間的中介。 使用此對象,將發送查詢以及對它們的答案。 對於直接數據交換,我們需要AJAX PHP。 該工具包可以使用GET或POST請求來實現。 在這種情況下,必需的參數將直接通過URL傳遞。 同時,將啟動一項功能,以確保數據傳輸不中斷。 但是哪個AJAX請求被實現? 推薦使用POST。 感謝他,您可以傳輸無限量的數據,而且訪問更加困難。
操作原理
服務器響應
它可能不僅可以通過XML,因為人們可能認為,因為技術的名稱。 另外,它可以作為純文本或JSON傳遞。 在第一種情況下,收到的信息可以立即顯示在頁面上。 如果使用XML,則必須小心確保AJAX文件在客戶端的瀏覽器中得到正確的處理。 這種情況下的所有數據都轉換為(X)HTML。 當使用JSON格式時,您必須執行代碼才能獲得完整的JavaScript對象。 有必要謹慎,並考慮到許多入侵者喜歡通過這種技術傳輸惡意代碼的事實。 因此,需要提供一種在處理之前檢查接收到的數據的過程。 不同瀏覽器的實現功能可能有所不同,但一般來說,動作方案是一個。
我們向服務器發出請求並處理響應
- 最初,您需要創建並驗證是否存在XMLHttpRequest。
- 然後,初始化與服務器的連接。
- 我們向它發送請求。
- 我們等到數據來了,我們處理它們。
有必要介紹有關創建對象的一些功能。 它可以在編程語言的任何地方盡可能地啟動。 但是,如果您分配全局狀態,那麼在任何時候,他只能使用一個查詢。 這一刻是必須密切關注的。 關於處理 - 這裡我們以選定的工具為指導。 因此,使用XML,數據必須由DOM函數處理,並向用戶呈現HTML中的最終結果。 JSON呢? 應該理解的是,它是Javascript的一個對象符號。 這是什麼意思? 感謝JSON,您可以將對象表示為字符串。 但是,必須記住,這種方法並不完全安全,而且還需要考慮很多因素。 但是,一般來說,這很簡單。
服務器編程語言
幾乎任何Web應用程序以某種方式使用它們。 對於數據傳輸,最流行的是PHP。 它通常為信息傳輸速度不重要的站點寫入文件,但優先考慮其與可靠性之間的平衡。 上面討論了傳遞XMLHttpRequest的方法。
配置服務器
- HTML / XHTML。 服務器需要識別頁面的佈局。
- CSS。 此工具對於頁面設計的可視化選擇是必需的。
- DOM。 需要對頁面的動態更改作為對用戶的操作的響應。
- XML。 需要在客戶端和服務器之間傳輸數據。
- JavaScript的。 有必要創建引擎“Ajax”並提供交互性。
- XMLHttpRequest的。 將要轉發對服務器的請求的對象。
在網站上使用
所以現在我們既有AJAX的理論知識和想法。 現在發送數據只需要一定的做法。 我們來看一下如何使用“Ajax”來處理任務的實現。 所以,我們需要創建一個驅動程序的數據庫。 他們可以在他們可以工作的設備上有所不同。 應該指出的是,數據庫是非常大的,所以簡單地將它轉發給客戶端並且已經提供給他使用JavaScript進行選擇是沒有意義的。 由於一個參數,網頁本身也不重要。 在服務器上,請求將處理特殊的PHP腳本。 數據庫實現為XML文件。
關於數據庫
我們正在從事發動機的工作
一切如何發生? 所以,有一個事件,這將導致一個特殊的功能。 它將準備將被轉發的GET或POST數據。 然後,調用一個將調用服務器腳本的URL的函數。 它必須提供一個XMLHttpRequest對象的創建。 對它的引用應該存儲在變量中。 數據發送到服務器後,有必要等待答复。 要做到這一點,您可以打開“竊聽”,直到收到信息(如果您知道將來,何時)或提供一個始終準備好接收數據的功能。 在自由情況下,第一個選擇不太可靠。 第二個實施在資源方面更為昂貴。 儘管如果這只是針對一個變量,它不會影響快速互聯網。 但是,如果有數以千計的他們,那麼他們會很大,那麼這將是另一回事。 因此,有必要在利用現有資源和效率之間尋求平衡。 畢竟,應該明白,並不是每個人都擁有16 GB的RAM。 為此,您可以設置一定的等待時間,之後替換以前的數據或此時服務器不可用的信息。
特點
結論
所以這篇文章得出了一個合理的結論。 如果我們一般談論“Ajax”,那麼這個工具可以讓您創建非常有吸引力和多功能的網站,能夠快速地工作,並且擁有合適的佈局,為用戶帶來愉悅。 我們不能懷疑,未來會有更先進的技術,但現在我們將會使用我們所擁有的技術。 隨著編程語言和它們的方法得到改進,這樣的選擇也將成為可用,從而允許創建更好的產品。 但無論如何,現在有必要與什麼一起工作。 而名字是“Ajax”。
Similar articles
Trending Now