如何使用这个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);

})

相关推荐
唆了蜜.38 分钟前
ESLint: Expected indentation of * spaces but found *. (style/indent)
开发语言·javascript·vue·webstorm
益达是我43 分钟前
【element-plus】element-plus升级到v2.11.7,el-tree文字不显示问题
前端·javascript·vue.js·element-plus
用户9714171814271 小时前
JavaScript 数组方法完全指南
javascript·面试
社恐的下水道蟑螂1 小时前
从 JS 单线程到 Promise:彻底搞懂异步编程的 "同步化" 魔法
前端·javascript
转角羊儿2 小时前
layui框架中,表单元素不显示问题
前端·javascript·layui
Hilaku3 小时前
当你的Ant-Design成了你最大的技术债
前端·javascript·前端框架
顾安r4 小时前
11.9 脚本网页 消消乐
前端·javascript·flask·html·pygame
宋哈哈4 小时前
页面水印sdk源码
java·前端·javascript
Kikyo--4 小时前
前端基础面试题(Css,Html,Js,Ts)
前端·javascript·css·typescript·html
火车叼位4 小时前
处理volta切换node版本之后pnpm没有识别的问题
前端·javascript