如何使用这个XMLHttpRequest?

ajax含义:async javascript and XML;是异步的JS和XML;是实现页面局部刷新的技术(是一门独立的技术)。

为什么在js内能够使用呢?是因为ajax在浏览器内内置了一个核心对象,--》XMLHttpRequest(低版本的IE浏览器没有)

步骤(背用):

1.实例化核心对象

let xhrs = new XMLHttpRequest(); //对核心对象进行实例化

//2.建立链接

//有5个参数--》ajax是异步的,

xhrs.open(请求方式,请求链接地址,同步/异步,用户名,密码)

3.发送请求

xhrs.send(请求参数),

4.获取ajax返回的数据--监听

xhrs.onreadystatechange = function() {

// 状态值=4表示成功

// console.log('改变', xhrs.readyState);

if (xhr.readystate == 4 && xhr.status == 200) {

//JSON.parse是字符串转为对象或数组的其他形式。 JSON.stringIfy是其他形式 去转换为字符串

console.log(JSON.parse(xhr.response).message);

}

}

axios 封装实例: axios fetch 基于ajax和promise进行的封装

function axios(params) {

//和上面

return new Promise((resolve, reject) => {

let xhrs = new XMLHttpRequest(); //对核心对象进行实例化

// 2.建立链接

// 有5个参数

xhrs.open(params, methods, params, url)

//3.发送请求

xhrs.send(params, data)

xhrs.onreadystatechange = function() {

// 状态值=4表示成功 // console.log('改变', xhrs.readyState);

if (xhr.readystate == 4 && xhr.status == 200) {

// JSON.parse是 console.log(JSON.parse(xhr.response).message);

resolve(JSON.parse(xhr.response))

}

}

})

}

//调用axios方法:

axios({

methods: 'get',

url: 'http://localhost:3000/api/get',

}).then(res => {

console.log(res);

})

相关推荐
json{shen:"jing"}23 分钟前
1. 两数之和
前端·javascript·数据库
github.com/starRTC33 分钟前
Claude Code中英文系列教程19:使用subagent子代理与创建自定义子代理【重要】
前端·javascript·数据库
hua_ban_yu42 分钟前
vue3 + ts 制作指令,防止按钮在固定时间内重复点击,不会影响到表单的校验
前端·javascript·vue.js
利刃大大1 小时前
【Vue】指令修饰符 && 样式绑定 && 计算属性computed && 侦听器watch
前端·javascript·vue.js·前端框架
踢球的打工仔2 小时前
typescript-接口的基本使用(一)
android·javascript·typescript
徐小夕@趣谈前端3 小时前
NO-CRM 2.0正式上线,Vue3+Echarts+NestJS实现的全栈CRM系统,用AI重新定义和实现客户管理系统
前端·javascript·人工智能·开源·编辑器·echarts
Mr Xu_3 小时前
Vue3 + Element Plus 实现点击导航平滑滚动到页面指定位置
前端·javascript·vue.js
pas1363 小时前
35-mini-vue 实现组件更新功能
前端·javascript·vue.js
前端达人3 小时前
为什么聪明的工程师都在用TypeScript写AI辅助代码?
前端·javascript·人工智能·typescript·ecmascript
TTGGGFF4 小时前
控制系统建模仿真(十):实战篇——从工具掌握到工程化落地
前端·javascript·ajax