2010-01-25 102 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是一种客户端脚本,可以与服务器/数据库进行通信,而不需要回发或整个页面刷新