2010-01-25 125 views

回答

1

從客戶端發出AJAX請求(使用Javascript),同時從服務器發出servlet請求(使用,我想是Java)。

我建議你在維基百科或其他地方查看它。

29

Ajax調用是由瀏覽器發起的異步請求,不會直接導致頁面轉換。 servlet請求是一個Java專用術語(servlet是Java規範),用於處理可能獲得簡單的GET,POST(等)或Ajax請求的HTTP請求。

Ajax(「Asynchronous Javascript and XML」)請求有時被稱爲XHR請求(「XmlHttpRequest」),這是大多數瀏覽器給對象用來發送Ajax請求的名稱,因爲至少初始Ajax調用涉及XML的發送和接收,但現在發送/接收JSON,純文本或HTML是很常見的。

Ajax請求的一個很好的例子是Stackoverflow上的註釋系統。您可以在文本框中輸入評論,然後點擊提交。它不會提交整個頁面(就像傳統的HTML表單提交一樣,它通常會轉換爲POST,但有時也會轉換爲GET HTTP請求)。相反,瀏覽器可能會通過XHR向服務器發送一個POST請求,並通知響應(因此爲「異步」)。但是服務器通常無法區分Ajax請求或頁面轉換,因爲兩者都只是歸結爲HTTP請求。

+0

很好的例子和解釋! – Kaushal28 2018-01-28 14:40:43

0

Ajax請求是對Web服務器的調用。這取決於你如何處理它。 Servlet絕對是一種方式。

1

問題在於,像IT [[**]]中使用的許多術語一樣,沒有「AJAX請求」或「Servlet請求」的明確定義。我能想出這個最好的是:

  • 一個Ajax請求是請求通過AJAX應用程序做出。通常,它是由(瀏覽器駐留)Javascript使用XML對請求數據和/或響應數據進行編碼的HTTP請求。在Javascript中製作AJAX請求的標準方式是使用XmlHttpRequest對象,但這是一個實現細節......對於AJAX的定義不是基本的。

  • Servlet請求是向服務器發出的請求。理論上它甚至不需要HTTP請求,因爲Servlet技術(理論上)也被設計用於其他協議。在我看來,這不是一個特別有用的術語。

所以......一個AJAX請求可以是一個servlet請求與否,和一個Servlet請求可以是一個AJAX請求。

值得指出的是,有一個名爲ServletRequest的Java接口構成了J2EE API的一部分。此接口是用於在基於J2EE的Web應用程序容器中傳遞Web請求詳細信息的對象類型。所以當你看到有人使用術語「Servlet請求」時,他們可能實際上正在談論ServletRequest實例。

[[**實際上,這與其他任何自然語言沒有區別。單詞和短語的含義取決於人們如何使用它們,而不是基於字典中的任何定義。詞典「定義」往往在一個詞或短語出現後纔會出現幾年或幾十年,並且它基於單詞如何被使用(或被使用)而不是作爲意義的說明來給出含義。 ]]

5

Ajax或異步JavaScript和XML是Web應用程序開發的一種方法,它使用客戶端腳本與Web服務器交換數據。因此,Web頁面會動態更新,而不會中斷整個頁面刷新,從而中斷交互流程。

使用Ajax,您可以創建更豐富,更動態的Web應用程序用戶界面.i.e。客戶端。另一方面servlet請求在服務器端處理來自UI的請求。

當訪問者請求一個頁面時,服務器會立即發送完整的HTML和CSS代碼。訪問者填寫表單並提交後,服務器處理信息(Servlet Request對象向servlet提供客戶端請求信息,Servlet容器創建ServletRequest對象並將其作爲參數傳遞給Servlet的服務方法)並重建頁。然後它將整個頁面發送回客戶端。等等。

當使用AJAX時,頁面只在第一次被請求時被完全加載一次。除了構成頁面的HTML和CSS代碼之外,還會下載一些JavaScript文件:AJAX引擎。所有對服務器的數據請求將作爲JavaScript調用發送到該引擎。然後,AJAX引擎異步請求來自Web服務器的信息(servlet請求對象包含已更改的請求參數)。因此,只有小頁面位被請求併發送到瀏覽器,因爲它們是用戶需要的。引擎然後顯示信息而不重新加載整個頁面。這導致了一個更響應的界面,因爲只有必要的信息在客戶端和服務器之間傳遞,而不是整個頁面。

關於Ajax實現的詳細信息,我們可以參考http://www.ibm.com/developerworks/library/j-ajax1/

3

Ajax是不是一種編程語言或工具,而是一個概念。 Ajax是一種客戶端腳本,可以與服務器/數據庫進行通信,而不需要回發或整個頁面刷新