AJAX异步通讯

Ajax

一、ajax是什么?

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

在这里插入图片描述

二、Ajax技术的核心:XMLHttpRequest对象

发送请求到服务器并获得返回结果

new Window.XMLHttpRequest()

  • 在不重新加载页面的情况下更新网页
  • 在页面已加载后从服务器请求数据
  • 在页面已加载后从服务器接收数据
  • 在后台向服务器发送数据

三、常用方法

  1. open(nethod,URL,async)
    • 建立与服务器的链接
    • method 参数指定请求的HTTP方法,如get或post
    • URL 参数指定请求的地址
    • async 参数指定是否使用异步请求,其值为true或false
  2. send(content)
    • 发送请求
    • content 参数指定请求的参数
  3. setRequestHeader(header,value)
    • 设置请求的头信息,把首部设置为所提供的值,在设置首部之前,必须先调用open()
  4. oneadystatechange(e)
    • 指定回调函数

四、常用属性target

  • onreadystatechange:指定回调函数
  • readystate:XMLHttpRequest的状态信息
  • status:HTTP的状态码(200对应OK,404对应NotFount等)
  • statusText:HTTP状态码的相应文本(OK或者NotFount等)
  • responseText:获得响应的文本内容,表示一个字符串
  • responseXML:获得响应的XML文档对象,可以解析为DOM对象

五、就绪状态码readystate

0:XMLHttpRequest对象没有完成初始化

1:XMLHttpRequest对象开始发送请求

2:XMLHttpRequest对象的请求发送完成

3:XMLHttpRequest对象开始读取响应,还没有结束

4:XMLHttpRequest对象读取响应结束

六、状态码status

200:服务器响应正常

400:无法找到请求资源

403:没有访问权限

404:访问资源不存在

500:服务器内部错误

举个栗子🌰

//1.创建XMLHttprequest
const xhr = new XMLHttpRequest
//2.建立连接
xhr.open('get','http://192.168.0.101/music/data/music.json',true)
//3.发送请求
xhr.send()
//4.处理响应结果
xhr.onreadystatechange = function(e){
    let target = e.target
    if(target.readyState ==4){		//表示数据响应完成
        if(target.status ==200)	{	//状态码200:OK
            let content = target.responseText
            alert(content)
        }else{
            alert('请求出错'+target.status)
        }
    }
}

七、抓包调试工具

postman工具

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wpzKA4Hi-1629979842086)(C:\Users\song\AppData\Local\Temp\1629978719320.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l6z70EmV-1629979842096)(C:\Users\song\AppData\Local\Temp\1629978727169.png)]

chrome

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X2XVr6FT-1629979842100)(C:\Users\song\AppData\Local\Temp\1629978749396.png)]

八、传输内容类型content-type

协议规定post提交的数据,必须包含在消息主体中entity-body中,

但是协议并没有规定数据使用什么编码方式。开发者可以自己决定消息主体的格式。

数据发送出去后,需要接收的服务端解析成功,

一般服务端会根据content-type字段来获取参数是怎么编码的,然后对应去解码。

在这里插入图片描述

九、get请求和post请求区别

  • 参数大小区别
  • 参数类型区别
  • 安全性区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值