IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> ajax的一些不懂的地方 -> 正文阅读

[JavaScript知识库]ajax的一些不懂的地方

我们来个基于封装的 ajax它是怎么发送请求的?
$.ajax({
type:get; //表示的是请求的方式
url:“”//表是的 是请求的url地址,也就是网址
data:{} //表示这次请求要携带的数据,get里面传的是id或者什么,post表示的是提交添加给服务器的数据
success:fu(res){console.log(res)} //返回 的是请求成功之后的回调函数
})

XMLHttpRequest的基本使用

简而言之它前面所学 的jQuery中的 ajax函数,就是基于xhr封装出来的

它有四个步骤
1.首先要new一个XML HttpRquest实例化对象
2.然后就是调用open函数,发送请求的url地址
3.然后就是调用send函数
4.然后就是监听onreadystatechange 事件

---------------------------------------一些问题----------------------
1.为什么post发送数据要设置请求头

协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。
实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。

服务端通常是根据请求头(headers)中的 Content-Type 字段
来获知请求中的消息主体是用何种方式编码,再对主体进行解析。


2.在ajax里面onreadystatechange是什么意思?

因为在发送一个请求后,客户端也不知道你有没有发送成功,无法确认什么时候会完成这个请求,
所以就需要这个事件机制来捕获请求的状态---所以这也类似于回调函数的做法


这个事件是在readyState属性发生改变时触发的,readyState里面的值代表当时请求的状态
eadyState有五种可取值0:尚未初始化,1:正在加载,2:加载完毕,3:正在处理;4:处理完毕。
一旦readyState属性的值变成了4,就可以从服务器返回的响应数据进行访问了。


3.在ajax里面responseText是什么意思?

response是set它的contextType为html/text,也就是返回了整个页面。

JSON和JS对象的互转

要实现从 JSON 字符串转换为 JS 对象,使用 JSON.parse() 方法:

要实现从 JS 对象转换为 JSON 字符串,使用 JSON.stringify() 方法:

什么序列化和反序列化?
把数据对象转换成字符串的过程叫做序列化,它是调用 ?JSON.stringify() 方法:

把字符串转换为数据对象的过程叫反序列化 ? 它调用JSON.parse() 方法:

ajax发送请求的时候为什么get需要加问号,post不需要?
在 JavaScript 中,发送 GET 请求简单、方便,适用于简单字符串,不适用于大容量或加密数据。实现方法:将包含查询字符串的 URL 传入 open() 方法,
设置第 1 个参数值为 GET 即可。服务器能够通过查询字符串接收用户信息。

在 JavaScript 中,POST 请求允许发送任意类型、长度的数据,多用于表单提交,以 send() 方法进行传递,
而不以查询字符串的方式进行传递。POST 字符串与 GET 字符串的格式相同。


url请求地址的后面为什么以&符号分隔?

1.分号(;)不能区分请求中的参数,只是参数内容中的一部分。

2.and符(&)能够区分请求中的参数,是用来分隔参数的符号。

3.使用分号(;)的场景:有可能是请求中传递的参数太多了,所以使用分号(;)将参数对(key=value)连接起来作为一个请求参数进行传递。

ps:所谓的ajax异步指的是:也就是说更新,页面不需要刷新

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:18:34  更:2021-10-18 17:20:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:50:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码