动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

解读AJAX请求

05-08 16:09 583浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。要想与服务器交互,我们需要了解下面的各个过程:

1.GET请求 与 POST请求

1)GET请求

GET请求用于获取数据,有时候我们需要获取的数据需要通过“查询参数”进行定位,在这种情况下,我们会将查询参数追加到URL的末尾,令服务器解析。

查询参数是指一个由?号起始,由&符号分割的包含相应键值对的字符串。用来告知浏览器所要查询的特定资源。

const query = "example.php?name=tom&age=24" // "?name=tom&age=24"即是一个查询参数

需要注意的是,查询字符串中每个参数的名和值都必须使用encodeURIComponent()进行编码(这是因为URL中有些字符会引起歧义,例如“&”)。

2)POST请求

POST请求用于向服务器发送应该被保存的数据,因此POST请求天然比GET请求多需要一份需要被保存的数据。那么这些数据应该放在何处呢?毕竟,我们的.open()方法接收的三个参数都没有合适的位置。

答案是需要发送的数据会作为.send()方法的参数最终被发往服务器,该数据可以是任意大小,任意类型。

这里需要注意以下两点:

.send()方法的参数是不可为空的,也就是说,对于不需要发送任何数据的GET请求,也需要在调用.send()方法时,向其传入null值;

目前为止,我们知道了两种向服务器发送数据的方式:表单提交以及发送POST请求,要注意服务器对待这两种方式并不一视同仁,这意味着服务器需要有相应的代码专门处理POST请求发送来的原始数据。

但好在我们可以通过POST请求模拟表单提交,只需要简单两步:

设置请求头参数:Content-Type: application/x-www-form-urlencoded(表单提交时的内容类型);

将表单数据序列化为查询字符串形式,传入.send()方法;

2.请求URL地址

这里需要注意若使用相对路径,请求URL是相对于执行代码的当前页面。

3.同步请求与异步请求

人们通常认为AJAX是异步的,实际上并非如此,AJAX是避免页面在获取数据后刷新的一种技术,至于等待服务器响应的方式是同步还是异步,需要开发人员结合业务需求进行配置(虽然通常是异步的)。

最后我们再简单解释一下“同步”等待响应与“异步”等待响应的区别:“同步”意味着一旦请求发出,任何后续的JavaScript代码不会再执行,“异步”则是当请求发出后,后续的JavaScript代码会继续执行,当请求成功后,会调用相应的回调函数。

Ajax的请求看似是很短暂,几乎眨眼睛就完成了请求,但实际上又是一个漫长的过程,仅凭本文我们是了解不了Ajax请求的整个过程的,我们可以参考动力节点在线的视频课程,加以学习,才能彻底了解Ajax请求的始末。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵279
程序员代码小兵279

75篇文章贡献270037字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消