JS Ajax

本文介绍了HTTP协议的基础概念,包括URL、三次握手过程,以及AJAX技术的核心——XMLHttpRequest对象和请求/响应结构。重点讲解了get与post的区别,内容类型如application/x-www-form-urlencoded和multipart/form-data,并探讨了它们在实际开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.HTTP协议

HTTP(超文本传输协议) HTTP是一个基于请求与响应模式的、无状态的、应用层的协议,
绝大多数的Web开发,都是构建在HTTP协议之上。

​ url : 统一资源定位符

​ 建立链接的主要步骤叫做 三次握手

​ http请求由三部分组成,分别是:请求行、请求头部、请求包体(正文)

​ HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文

2.AJAX

Ajax:现在允许浏览器与服务器通信而无须刷新当前页面的技术. 不需要刷新整个页面,只刷新局部页面的一种异步通讯技术;

Ajax技术的核心
XMLHttpRequest对象

// IE9及以上
const xhr = new XMLHttpRequest()

// IE9以下
const xhr = new ActiveXObject('Mricosoft.XMLHTTP')

常用方法

1.open(methad, URLn,async)
建立与服务器的连接
method参数指定请求的HTTP方法,典型的值是GETPOST
URL参数指定请求的地址
async参数指定是否使用异步请求,其值为 truefalse
2.send(content)发送请求
content参数指定请求的参数
3.setRequestHeader(header.value)
设置请求的头信息,把首部设置为所提供的值。在设置首部之前必须先调用openoe
4.onreadystatechange(e)
指定回调函数

就绪状态码 readystate

0
XML.HttpRequest对象没有完成初始化
1
XMLHttpRequest对象开始发送请求
2
XMLHttpRequest对象的请求发送完成
3
XMLHttpReauest,对象开始读取响应,还没有结束
4
XMLHt.tpReauest,对象读取响应结束

状态码status

200
服务器响应正常口
400
无法找到请求的资源
403
没有访问权限
404
访问的资源不存在
500
服务器内部错误

responseText

ajax对象中的responseText成员
就是用来记录服务端给我们的响应体内容的
所以我们就用这个成员来获取响应体内容就可以
3.传输内容类型content-type

​ 协议规定post提交的数据,必须包含在消息主体中entity-body中,但是协议并没有规定数据使用什么编码方式。开发者可以自己决定消息主体的格式。
数据发送出去后,需要接收的服务端解析成功,
一般服务端会根据content-type字段来获取参数是怎么编码的,然后对应去解码。

application/x-www-form-urlencoded
在最开始的请求方式中,请求参数都是放在url中,表单提交的时候,都是以key=&value=的方式写在url后面。这也是浏览器表单提交的默认方式。
multipart/form-data
此种方式多用于文件上传,表单数据都保存在http的正文部分,各个表单项之间用boundary分开。application/json
现在越来越多的应用使用application/json,用来告诉服务端消息主体是序列化的json字符串。由于json规范的流行,各大浏览器都开始原生支持JSON.stringfy.
4. get请求与post请求区别
  1. 参数大小区别
  2. 参数类型区别
  3. 安全性区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值