AJAX_基础讲解

合集下载

第7章--JavaEE基础应用教程之AjaxPPT课件

第7章--JavaEE基础应用教程之AjaxPPT课件

运算符 ! &= & |= |
功能 取反 与后赋值 逻辑与 或后赋值 逻辑或
^=
异或之后赋值
^
逻辑异或
?:
三目操作符
||

==
等于
!=
不等于
7
2021/3/12
7.2.1 JavaScript语法基础
5. 语句 JavaScript语句包括:if条件语句、for循环语句、while循环语句、break语句
和continue语句。这些语句的应用与在Java语言中类似,这里就不详细介绍了。 6. 函数
JavaScript的函数相当于Java语言中的方法,用于完成所需要的功能。通常 在写一个复杂程序时,总是根据所完成功能的不同,将程序划分为一些相对独立 的部分,每个部分由一个函数来完成。从而使各部分独立,任务单一,程序清晰、 易懂。
第7章 Ajax
♥7.1 Ajax概述 ♥7.2 Javax框架——DWR
1
2021/3/12
7.1 Ajax包括: Ajax概述
Html/XHtml:实现页面内容的表示。 CSS:格式化文本内容。 DOM:对页面内容进行动态更新。 XML:实现数据交换和格式转化。 XMLHttpRequest对象:实现与服务器异步通信。 JavaScript:实现以上所有技术的融合。
当服务器处理请求并送出回应时,计算机接收到回应,再呼叫浏览器所设定 的对应动作进行处理,如图7.2所示。
图7.2 非同步技术
3
2021/3/12
7.2 JavaScript基础
7.2.1 JavaScript语法基础
1. 基本数据类型
JavaScript脚本语言同其他语言一样,有自身的基本数据类型、表达式、算术

Ajax的入门与实践

Ajax的入门与实践
PHPቤተ መጻሕፍቲ ባይዱ

基于 数据 应用 的转 换 。在 基于 数据 的应 用 中 ,用户需 求 的数 据 .如联 系人 列表 ,可 以从 独 立 于 实 际 网 页 的服 务 端取 得 , 并且 可 以 被 动 意 地 写 入 网 页 中, 使缓 慢 的 We 应用 如 同桌 b 面应 用一 样方 便快 捷。
相 关技 术系 统 支撑 。下面 向大 ( j Pr t t p Do o o o y e、DW R、 属 性 和 方 法 . 发 送 请 求 和 处 家 推荐 几酃 A a 从 入门基 础到 Ba kb S 、 Aj x NET 和 理 响 应 构 建 完 备 的 A a jx c a e a j x开
诸 多 特
性 ,指 导 读 者 一 步

加 载数 据 ,但 到现在 刚有 传统
的开 发人 员和 公司开 始采 用这 些 技 术 。 着 Ajx 速 地 发 展 , 随 a迅
《 a Ajx基 础 教 程 》
 ̄ j ( ax基 础 教 程 该 书 重 A
步 地 实现 Go g eMa o l p的绚
( 为 W e .) 称 b 2 0 的一个 重要 组 际 的研 发 中去。 成部 分 。A a jx这 个术 语源 自描
述 从 基 于 同 页的 W e 应用 到 b
发模 式和 框 架 。该书 后半 部 分 共用 了五个 窜 节从 服务 器端 编 程 的角 度 详细 讲 述 了 Aj ax同
虽 然大 部分 开 发 人员 在过 去 就 使 用 XMLHT P或 Ia e T f m t
《 jx修 炼之 道 一 Aa W e 2. b 0入 门 》
Ru n Rai by O l s、 J a av

axios和ajax的 用法

axios和ajax的 用法

axios和ajax的用法Axios和Ajax是我们在前端开发中常使用的两种网络请求工具,这篇文章将从基础概念、用法、优缺点等方面来详细介绍它们。

一、基础概念1.1 AxiosAxios是一个基于promise的HTTP客户端,用于浏览器和Node.js平台中发送异步HTTP请求。

Axios支持浏览器和Node.js环境,可以在项目中方便地封装HTTP请求,相较于传统的Ajax和Fetch,Axios提供了更多强大的功能。

1.2 AjaxAjax全称Asynchronous JavaScript and XML,即异步JavaScript和XML技术。

它是一种创建交互式网站的Web开发技术,可以在不刷新网页的情况下对网页进行局部更新。

Ajax技术通过XmlHttpRequest对象实现异步请求数据。

二、用法2.1 AxiosAxios的基础使用非常简单,我们先在项目中引入Axios:``` import axios from 'axios' ```Axios支持链式调用,比如:``` axios.get('/user?id=1') .then(function (response){ console.log(response); }) .catch(function (error) { console.log(error); }); ```以上代码会向服务器发送一个GET请求,并将响应数据打印到控制台。

Axios除了get请求,还可以发送post请求:``` axios.post('/user', { firstName:'John', lastName: 'Doe' }) .then(function (response){ console.log(response); }) .catch(function (error) { console.log(error); }); ```Axios还支持并发请求,比如:``` axios.all([axios.get('/user/1'),axios.get('/user/2')]) .then(axios.spread(functio n (user1, user2) { console.log('User 1',user1); console.log('User 2', user2); }));```上面的代码会同时向服务器发送两个请求,并使用spread方法将返回的数据进行展开。

Ajax知识点总结

Ajax知识点总结

Ajax知识点总结
1.AJAX的优缺点都有什么?
最⼤的⼀点是页⾯⽆刷新,⽤户的体验⾮常好。

使⽤异步⽅式与服务器通信,具有更加迅速的响应能⼒。

可以把以前⼀些服务器负担的⼯作转嫁到客户端,利⽤客户端闲置的能⼒来处理,减轻服务器和带宽的负担,节约空间和宽带租⽤成本。

并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最⼤程度的减少冗余请求,和响应对服务器造成的负担。

基于标准化的并被⼴泛⽀持的技术,不需要下载插件或者⼩程序。

ajax的缺点:
ajax不⽀持浏览器back按钮。

安全问题 AJAX暴露了与服务器交互的细节。

对搜索引擎的⽀持⽐较弱。

破坏了程序的异常机制。

不容易调试。

2.Ajax和javascript的区别?
javascript是⼀种在浏览器端执⾏的脚本语⾔,Ajax是⼀种创建交互式⽹页应⽤的开发技术,它是利⽤了⼀系列相关的技术其中就包括javascript。

Javascript是由⽹景公司开发的⼀种脚本语⾔,它和sun公司的java语⾔是没有任何关系的,它们相似的名称只是⼀种⾏销策略。

在⼀般的web开发中,javascript是在浏览器端执⾏的,我们可以⽤javascript控制浏览器的⾏为和内容。

jquery table ajax reload的用法

jquery table ajax reload的用法

jquery table ajax reload的用法在现代的Web开发中,异步JavaScript和XML(AJAX)已经成为了一个不可或缺的部分,它允许我们在不重新加载整个页面的情况下,从服务器获取数据并更新页面的部分内容。

当与jQuery这样的JavaScript库结合使用时,AJAX的功能变得更加强大和易用。

在本文中,我们将详细讨论如何使用jQuery和AJAX来重新加载(reload)HTML表格的内容。

一、了解基础在开始之前,我们需要对jQuery和AJAX有一定的了解。

jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画和AJAX交互等Web开发常见任务。

AJAX则是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

二、为什么使用jQuery Table AJAX Reload在Web应用程序中,表格经常被用来展示数据。

当数据发生变化时,我们希望能够实时更新表格的内容,而不是重新加载整个页面。

这时,使用jQuery和AJAX来重新加载表格数据就变得非常有用。

它不仅可以提高用户体验,还可以减少服务器的负载。

三、基本用法假设我们有一个HTML表格,它的ID是“myTable”,并且我们有一个URL,该URL返回表格需要显示的数据。

下面是一个基本的例子,展示了如何使用jQuery和AJAX来重新加载这个表格的内容:$(document).ready(function() {// 定义一个函数来加载表格数据function loadTableData() {$.ajax({url:'your_data_url', // 数据URLtype:'GET', // 请求类型dataType:'json', // 预期服务器返回的数据类型success:function(data) {// 当请求成功时,这里会被执行// 假设data是一个包含表格数据的数组var tableBody =$("#myTable tbody"); // 获取表格的tbody元素tableBody.empty(); // 清空现有的表格内容// 遍历数据并创建表格行$.each(data, function(index, row) {var newRow =$("<tr><td>"+ row.column1+"</td><td>"+ row.column2+"</td></tr>"); tableBody.append(newRow); // 将新行添加到表格中});},error:function(jqXHR, textStatus, errorThrown) {// 当请求失败时,这里会被执行console.error("AJAX error: "+ textStatus +' - '+ errorThrown);}});}// 初始加载表格数据loadTableData();// 可以根据需要,例如定时器、按钮点击事件等,再次调用loadTableData函数来重新加载表格数据});四、进阶用法1. 使用模板引擎:当表格结构变得复杂时,手动拼接HTML字符串可能会变得非常繁琐且容易出错。

简述ajax的工作原理、同步请求和异步请求

简述ajax的工作原理、同步请求和异步请求

AJAX(Asynchronous JavaScript and XML)是一种使用异步请求的技术,使得网页可以在不重新加载整个页面的情况下,与服务器进行通信和交换数据。

这样,就可以在不中断用户操作的情况下,更新部分网页内容。

AJAX 的工作原理:1. 创建 XMLHttpRequest 对象:AJAX 使用 XMLHttpRequest 对象来发送异步请求。

XMLHttpRequest 对象是所有现代浏览器(包括 Internet Explorer 7 及更高版本)都支持的一种对象。

2. 初始化 AJAX 请求:使用 XMLHttpRequest 对象的 open() 方法来指定请求的 URL、请求类型(如 GET 或 POST)、是否异步处理等。

3. 发送 AJAX 请求:使用 XMLHttpRequest 对象的 send() 方法来发送请求。

如果是 GET 请求,可以在 send() 方法的参数中传递查询字符串;如果是POST 请求,可以在 send() 方法的参数中传递要发送的数据。

4. 处理服务器响应:在 XMLHttpRequest 对象接收到服务器响应后,可以通过注册的 onreadystatechange 事件处理程序来处理响应数据。

当请求成功完成时(状态码为 200),responseText 属性将包含服务器的响应文本。

5. 更新网页内容:在收到服务器响应后,可以使用 JavaScript 来更新网页的内容,以反映服务器响应的数据。

同步请求和异步请求:* 同步请求:在同步请求中,浏览器会停止执行其他代码,直到服务器响应完成。

这意味着在等待服务器响应时,用户将无法使用浏览器。

同步请求通常用于提交表单数据,因为这需要等待服务器响应才能继续。

* 异步请求:在异步请求中,浏览器不会停止执行其他代码。

当发送异步请求时,浏览器会继续执行其他代码,而不会等待服务器响应。

一旦服务器响应,可以通过注册的事件处理程序来处理响应数据。

dynaTrace使用分享-基础篇

教程 – 基础篇》 | 2010/4/19
应用变得更加容易,糟糕的是,随之而来的,定位这些应用的问题也越来越难,尤其是与性能相关的时候。

企业级环境也一样。

垃圾的IE 诊断
应用的挑战不仅是理解网络交互
安装好dynaTrace 后,我们会进入到下面的主界面。

dynaTrace 使用所谓的运行设置(Run Configurations )来直接浏览你要追踪的网站,避免每次
接下来我们将以追踪Google为例,在Name中填入本次
时忽略缓存的影响时可以将其选中,设置好后点击
在dynaAjax工具栏中最右边的按钮可以用来打开首选项(
运行追踪后,我们会发现浏览器上出现dynaTrace工具栏,上面的Connected
正出于追踪状态,此时你可以浏览所有要检测的网页,所有数据都会被记录,浏览好后关闭浏览器,会自动生成追踪文件。

双击左边的将打开Summary(总结),这里显示了大部分我们需要的信息,如下图所示。

在Summary中记录了所有访问的网页的详细信息,点击上面不同的URL将会看到相关的中
我们可以将追踪内容导出成追踪文件,当然,也可以将追踪文件导入到dynaTrace进行解析。

A j a x 教程 – 基础篇》 | 2010/4/19。

AJAX讲义(一)OK-2

AJAX—应用级框架dwr讲义1,Web应用系统概述我们知道WEB应用系统应该的分成三层架构(即MVC)。

其中C-Controller是控制层,作用接受请求反馈相应。

因此这一层是至关重要的。

那么实现这一层功能的技术—Servlet 类,也理所当然的成为我们J2EE学习的重中之重。

这里回顾下已学的Servlet类在程序运行时的流程:原理:浏览器请求---tomcat根据web.xml找到相对应的servlet,将这个请求存放到request对象中,并生成对应的response对象-----完成初始化,加载之后,将request和response对象传给service()方法,----service方法判断转发到doget/dopost进而进行处理。

这是我们处理通常请求的一种处理流程。

2,AJAX概述AJAX 全称Asynchronous JavaScript and XML。

中文解释:异步JavaScript和XML。

显然很难从名字上理解AJAX技术。

那么AJAX到底是什么呢?AJAX技术能够让WEB应用系统也具备桌面程序的交互性。

通俗的说就是在一个web页面没有刷新时,页面中的信息能动态改变。

那信息从哪里来的呢?当然也是通过请求到后台获取的啦?它的处理流程图如下。

大家会发现和上面的图一样,只是处理的请求是”异步请求”。

何谓异步呢?当然异步相对同步而言的。

一个通常请求发出的时候,页面会同时刷新,这种请求时同步请求。

而我们这里说的请求发出时,页面内容没有发生刷新,这种请求时异步请求。

2,认识并部署AJAX技术框架这里,介绍一个经典的AJAX”技术框架”—DWR。

编写一个WEB应用程序,我们可以用.net,也可以使用JA V A技术。

那么不难理解,实现AJAX所实现的功能,可以使用不同的技术框架。

这里指出一些常见的框架有:jquery, Extjs,dwr等等。

如何引入AJAX框架呢?首先,传统的J2EE是没有AJAX技术的,它是后人在此基础上创建的。

asp.net中AJAX技术基础及应用


19
更灵活的更新方式
当把UpdatePanel的ChildrenAsTriggers属性设置为false时,它 内部所有的控件引发的异步回送都不会更新自已.如果同时它的 UpdateMode=Conditional,那么,必须指定外部某个 控件来触发它的异步更新,否则,它无法实现异步更新自己. 这个"外部"的控件被称为"触发器(Trigger)". 触发器( 触发器 Trigger) 所谓"触发器",其实就是可引发异步更新的控件.
1. 2. 3.
4.
5.
36
示例的要点
使用验证控件验证数据有效性.注意要让其 EnableClientScript="False". 注意复习GridView分页的方法. 编程显示弹出窗口: ModalPopupExtender1.Show(); 要让弹出窗口支持拖动,需给<strong>元素加上id 和runat="server"标记,配上样式表,然后指定 ModalPopup控件的PopupDragHandlerControlID 属性.
程序设计 之 程序设计
AJAX技术初阶 AJAX技术初阶
主要内容
AJAX概述 页面的局部刷新与异步回发 使用UpdateProgress控件 定时调用 AJAX Control ToolKit ToolKit简介及应用
2
1 AJAX概述
Web应用程序的"软肋"
问:让网页象EXCEL一样好用,可能吗? 答:Web应用与桌面应用有着完全不同的运行环境和编程 模型,在目前的技术条件下,Web应用要完全超越已发展 多年的桌面应用所拥有的丰富交互特性,还是很困难的. 问:为何访问网页很慢,并且在显示时会有闪烁? 答:当前网络带宽还不够,并且传统的Web网页是 采用"请求"-"刷新"这一机制来显示的,并且哪 怕数据只有一点改变,也得刷新整个页面…… 正是为了弥补传统Web技术的弱点,AJAX技术才得 到广泛应用.

ajax简述

用 Ajax 验证表单作者:Deepak Vohra学习如何使用 Ajax 构建基于表单的动态 Web 应用程序。

2006 年 5 月发表异步 JavaScript 和 XML (Ajax) 是一种组合了 JavaScript、文档对象模型(DOM) 和 XMLHttpRequest 技术的 Web 开发技术,用于在客户端和服务器之间提供动态交互。

例如,假设用户填写一份表单以将数据添加到数据库表。

如果不使用 Ajax,则在提交表单之前将不检查该表单中的数据有效性。

有了 Ajax,可以在使用服务器应用程序中的业务逻辑向表单域中添加数据时对添加到表单的数据进行动态验证。

因此,如果表单中的数据有效,则不必将完整的表单发送给服务器进行检查。

在本文中,您将学习如何在 Oracle JDeveloper 10g(10.1.3) 中使用 Ajax 创建一个 Web 应用程序。

但首先,我们将介绍一些背景知识。

XMLHttpRequest 概述作为 J2EE 开发人员,您可能对 DOM 和 JavaScript 比较熟悉,而对XMLHttpRequest 则并不一定很熟悉。

在 Ajax 中,XMLHttpRequest 对象用于在Web 应用程序与基础服务器和业务服务之间提供异步通信。

使用XMLHttpRequest 对象,客户端可以检索 XML 数据并将其直接提交给 Web 服务器,而不必重新加载该页。

XML 数据使用 DOM 和可扩展样式表转换 (XSLT) 在客户端上转换为可呈现的 HTML。

XMLHttpRequest 最初以 ActiveX 组件的形式由 Microsoft 推出,现在已受到大多数现代浏览器的支持。

但在 2006 年 4 月之前,XMLHttpRequest 在浏览器之间以不同的方式实现。

例如,Internet Explorer 6 将 XMLHttpRequest 实施为 ActiveX 对象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

表2-1显示了XMLHttpRequest对象的一些典型方法。不要担心,稍后就会详细介绍这些方法。

查看全套Ajax基础教程。

下面来更详细地讨论这些方法。 void open(string method, string url, boolean asynch, string username, string password):这个方法会建立对服务器的调用。这是初始化一个请求的纯脚本方法。它有两个必要的参数,还有3个可选参数。要提供调用的特定方法(GET、POST或PUT),还要提供所调用资源的URL。另外还可以传递一个Boolean值,指示这个调用是异步的还是同步的。默认值为true,表示请求本质上是异步的。如果这个参数为false,处理就会等待,直到从服务器返回响应为止。由于异步调用是使用Ajax的主要优势之一,所以倘若将这个参数设置为false,从某种程度上讲与使用XMLHttpRequest对象的初衷不太相符。不过,前面已经说过,在某些情况下这个参数设置为false也是有用的,比如在持久存储页面之前可以先验证用户的输入。最后两个参数不说自明,允许你指定一个特定的用户名和密码。

void send(content):这个方法具体向服务器发出请求。如果请求声明为异步的,这个方法就会立即返回,否则它会等待直到接收到响应为止。可选参数可以是DOM对象的实例、输入流,或者串。传入这个方法的内容会作为请求体的一部分发送。 void setRequestHeader(string header, string value):这个方法为HTTP请求中一个给定的首部设置值。它有两个参数,第一个串表示要设置的首部,第二个串表示要在首部中放置的值。需要说明,这个方法必须在调用open()之后才能调用。

在所有这些方法中,最有可能用到的就是open()和send()。XMLHttpRequest对象还有许多属性,在设计Ajax交互时这些属性非常有用。

void abort():顾名思义,这个方法就是要停止请求。 string getAllResponseHeaders():这个方法的核心功能对Web应用开发人员应该很熟悉了,它返回一个串,其中包含HTTP请求的所有响应首部,首部包括Content-

Length、Date和URI。 string getResponseHeader(string header):这个方法与getAllResponseHeaders()是对应的,不过它有一个参数表示你希望得到的指定首部值,并且把这个值作为串返回。

除了这些标准方法,XMLHttpRequest对象还提供了许多属性,如表2-2所示。处理XMLHttpRequest时可以大量使用这些属性。

表2-2 标准XMLHttpRequest属性

看到这里,你可能想知道典型的Ajax交互是什么样。图2-1显示了Ajax应用中标准的交互模式。 图2-1 标准Ajax交互 不同于标准Web客户中所用的标准请求/响应方法,Ajax应用的做法稍有差别。 查看全套Ajax基础教程。 1. 一个客户端事件触发一个Ajax事件。从简单的onchange事件到某个特定的用户动作,很多这样的事件都可以触发Ajax事件。可以有如下的代码:

2. 创建XMLHttpRequest对象的一个实例。使用open()方法建立调用,并设置URL以及所希望的HTTP方法(通常是GET或POST)。请求实际上通过一个send()方法调用触发。可能的代码如下所示:

var xmlHttp; function validateEmail() { var email = document.getElementById("email"); var url = "validate?email=" + escape(email.value); if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } xmlHttp.open("GET", url); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); }

3. 向服务器做出请求。可能调用servlet、CGI脚本,或者任何服务器端技术。 4. 服务器可以做你想做的事情,包括访问数据库,甚至访问另一个系统。 5. 请求返回到浏览器。Content-Type设置为text/xml——XMLHttpRequest对象只能处理text/html类型的结果。在另外一些更复杂示例中,响应可能涉及更广,还包括JavaScript、DOM管理以及其他相关的技术。需要说明,你还需要设置另外一些首部,使浏览器不会在本地缓存结果。为此可以使用下面的代码:

response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache");

6. 在这个示例中,XMLHttpRequest对象配置为处理返回时要调用callback()函数。这个函数会检查XMLHttpRequest对象的readyState属性,然后查看服务器返回的状态码。如果一切正常,callback()函数就会在客户端上做些有意思的工作。以下就是一个典型的回调方法:

function callback() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //do something interesting here } } }

可以看到,这与正常的请求/响应模式有所不同,但对Web开发人员来说,并不是完全陌生的。显然,在创建和建立XMLHttpRequest对象时还可以做些事情,另外当“回调”函数完成了状态检查之后也可以有所作为。一般地,你会把这些标准调用包装在一个库中,以便在整个应用中使用,或者可以使用Web上提供的库。这个领域还很新,但是在开源社区中已经如火如荼地展开了大量的工作。

通常,Web上提供的各种框架和工具包负责基本的连接和浏览器抽象,有些还增加了用户界面组件。有一些纯粹基于客户,还有一些需要在服务器上工作。这些框架中的很多只是刚开始开发,或者还处于发布的早期阶段,随着新的库和新的版本的定期出现,情况还在不断发生变化。这个领域正在日渐成熟,最具优势的将脱颖而出。一些比较成熟的库包括libXmlRequest、RSLite、sarissa、JavaScript对象注解(JavaScript Object Notation,JSON)、JSRS、直接Web远程通信(Direct Web Remoting,DWR)和Rails on Ruby。这个领域日新月异,所以应当适当地配置你的RSS收集器,及时收集有关Ajax的所有网站上的信息!

现在已经准备开始使用XMLHttpRequest对象了。我们刚刚讨论了如何创建这个对象,下面来看如何向服务器发送请求,以及如何处理服务器的响应。

查看全套Ajax基础教程。 最简单的请求是,不以查询参数或提交表单数据的形式向服务器发送任何信息。在实际中,往往都希望向服务器发送一些信息。

使用XMLHttpRequest对象发送请求的基本步骤如下: 1. 为得到XMLHttpRequest对象实例的一个引用,可以创建一个新的实例,也可以访问包含有XMLHttpRequest实例的一个变量。 2. 告诉XMLHttpRequest对象,哪个函数会处理XMLHttpRequest对象状态的改变,为此要把对象的onreadystatechange属性设置为指向JavaScript函数的指针。

3. 指定请求的属性。XMLHttpRequest对象的open()方法会指定将发出的请求。open()方法取3个参数:一个是指示所用方法(通常是GET或POST)的串;一个是表示目标资源URL的串;一个是Boolean值,指示请求是否是异步的。

4. 将请求发送给服务器。XMLHttpRequest对象的send()方法把请求发送到指定的目标资源。send()方法接受一个参数,通常是一个串或一个DOM对象。这个参数作为请求体的一部分发送到目标URL。当向send()方法提供参数时,要确保open()中指定的方法是POST。如果没有数据作为请求体的一部分被发送,则使用null。

这些步骤很直观:你需要XMLHttpRequest对象的一个实例,要告诉它如果状态有变化该怎么做,还要告诉它向哪里发送请求以及如何发送请求,最后还需要指导XMLHttpRequest发送请求。不过,除非你对C或C++很了解,否则可能不明白函数指针(function pointer)是什么意思。

函数指针与任何其他变量类似,只不过它指向的不是像串、数字、甚至对象实例之类的数据,而是指向一个函数。在JavaScript中,所有函数在内存中都编有地址,可以使用函数名引用。这就提供了很大的灵活性,可以把函数指针作为参数传递给其他函数,或者在一个对象的属性中存储函数指针。

对于XMLHttpRequest对象,onreadystatechange属性存储了回调函数的指针。当XMLHttpRequest对象的内部状态发生变化时,就会调用这个回调函数。当进行了异步调用,请求就会发出,脚本立即继续处理(在脚本继续工作之前,不必等待请求结束)。一旦发出了请求,对象的readyState属性会经过几个变化。尽管针对任何状态都可以做一些处理,不过你最感兴趣的状态可能是服务器响应结束时的状态。通过设置回调函数,就可以有效地告诉XMLHttpRequest对象:“只要响应到来,就调用这个函数来处理响应。”

2.6.1 简单请求的示例

相关文档
最新文档