Ajax
概述:Asynchronous JavaScript And XML,用于异步请求数据,可以实现局部的加载,ajax主要依赖的是一个请求对象 核心对象 xmlHttpRequest
.bmp)
Ajax创建步骤
1.创建Ajax请求对象
var xhr = new XMLHttpRequest()
//XMLHttpRequest存在兼容问题
var xhr = XMLHttpRequest ? new XMLHttpRequest() :new ActiveXObject("Microsoft.XMLHTTP")
2.配置请求信息
xhr.open(请求方式,请求地址,是否异步)
3.把请求发送出去
xhr.send()
4.监听对应的请求状态的变化
5.在监听中读取对应的响应数据 并进行处理
Ajax的XMLHttpRequest对象属性
属性 | 描述 |
---|---|
onreadystatechange | 定义当readyState属性发生变化时调用的函数 |
readyState | 保存XMLHttpRequest的状态:0未发送请求 1请求已发送 2请求已收到 3正在处理请求 4请求已完成且响应已就绪 |
responseText | 以字符串返回响应数据 |
responseXML | 以XML数据返回响应数据 |
status | 返回请求的状态号:200成功 403没有访问权限 404客户端错误找不到 500服务器错误 |
statusText | 返回状态文本(比如‘OK’,‘Not Found’) |
get请求和post请求在xhr请求的区别
get请求是使用?拼接url传参的
xhr.open('get',url+'?key=value&key1=value1')
post通过send发送请求体的方式
xhr.send('key=value&key1=value1')
get请求不需要指定对应的请求头 post请求必须要指定请求头
xhr.setRequestHeader('content-type','x-www-form-urlencoded')
GET 与 POST 的区别
GET | POST |
---|---|
偏向获取的语义化(获取数据) | 偏向提交的语义化(登录,注册) |
参数是查询字符串 | 参数格式多样,但需要特殊说明 |
大小有限制2KB左右 | 理论上无限制 |
参数位置在地址后面(http://www.baidu.com?key=value&key1=value1) | 参数位置在请求体内(xhr.send(key=value&key1=value1)) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗