当前位置: 首页 > news >正文

Vue3 Ajax(axios)

Vue 版本推荐使用 axios 来完成 ajax 请求。

安装方法

使用 cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

使用 npm:

$ npm install axios

 GET 方法

我们可以简单的读取 JSON 数据:

const app = {data() {return {info: 'Ajax 测试!!'}},mounted () {axios.get('https://www.runoob.com/try/ajax/json_demo.json').then(response => (this.info = response)).catch(function (error) { // 请求失败处理console.log(error);});}
}Vue.createApp(app).mount('#app')

 使用 response.data 读取 JSON 数据:

<div id="app"><h1>网站列表</h1><divv-for="site in info">{{ site.name }}</div>
</div>
<script type = "text/javascript">
const app = {data() {return {info: 'Ajax 测试!!'}},mounted () {axios.get('https://www.runoob.com/try/ajax/json_demo.json').then(response => (this.info = response.data.sites)).catch(function (error) { // 请求失败处理console.log(error);});}
}Vue.createApp(app).mount('#app')
</script>

GET 方法传递参数格式如下:

// 直接在 URL 上添加参数 ID=12345
axios.get('/user?ID=12345').then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});// 也可以通过 params 设置参数:
axios.get('/user', {params: {ID: 12345}}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});

POST 方法

const app = {data() {return {info: null}},mounted () {axios.post('https://www.runoob.com/try/ajax/demo_axios_post.php').then(response => (this.info = response)).catch(function (error) { // 请求失败处理console.log(error);});}
}Vue.createApp(app).mount('#app')

POST 方法传递参数格式如下:

axios.post('/user', {firstName: 'Fred',        // 参数 firstNamelastName: 'Flintstone'    // 参数 lastName}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});

执行多个并发请求

function getUserAccount() {return axios.get('/user/12345');
}function getUserPermissions() {return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()]).then(axios.spread(function (acct, perms) {// 两个请求现在都执行完成}));

axios API

可以通过向 axios 传递相关配置来创建请求。

axios(config)
// 发送 POST 请求
axios({method: 'post',url: '/user/12345',data: {firstName: 'Fred',lastName: 'Flintstone'}
});
//  GET 请求远程图片
axios({method:'get',url:'http://bit.ly/2mTM3nY',responseType:'stream'
}).then(function(response) {response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
});
axios(url[, config])
// 发送 GET 请求(默认的方法)
axios('/user/12345');

请求方法的别名

为方便使用,官方为所有支持的请求方法提供了别名,可以直接使用别名来发起请求:

axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])

http://www.lryc.cn/news/332143.html

相关文章:

  • 正则表达式引擎库汇合
  • eBay买家号注册下单容易死号?是什么原因导致?
  • 【Linux】-进程知识铺垫①计算机硬件的组织:冯诺依曼体系结构详细解读②关于操作系统对软硬件及用户的意义
  • 让ECC升级S/4HANA一步到位的“全面升级方案包”
  • AutoGluon
  • 【网站项目】少儿编程管理系统
  • 基于C语言的数据结构--顺序表讲解及代码函数实现展示
  • (学习日记)2024.03.31:UCOSIII第二十八节:消息队列常用函数
  • DLC原理解析及其优化思考
  • tigramite教程(七)使用TIGRAMITE 进行条件独立性测试
  • 【DevOps工具篇】使用Ansible部署Keycloak oauth2proxy 和 单点登录(SSO)设置
  • 鸿蒙OS开发实例:【应用状态变量共享】
  • C#清空窗体的背景图片
  • Qt 实现的万能采集库( 屏幕/相机/扬声器/麦克风采集)
  • 将写好的打印机代码打包成jar包然后直接注册成windows服务,然后通过调用插件的接口地址将流传到接口实现解析并无需预览直接通过打印机直接打印PDF文件
  • 加密软件VMProtect教程:使用脚本-功能
  • 51单片机入门_江协科技_21.1_开发板USB口连接建议
  • 基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证
  • Kubernetes(k8s):精通 Pod 操作的关键命令
  • 【随笔】Git 高级篇 -- 相对引用2(十三)
  • xilinx AXI CAN驱动开发
  • Python:百度AI开放平台——OCR图像文字识别应用
  • OpenEuler/Centos制作离线软件源
  • 论文笔记:基于多粒度信息融合的社交媒体多模态假新闻检测
  • 攻防世界 xff_referer 题目解析
  • open-cd框架调试记录
  • 【算法刷题day17】Leetcode:110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和
  • Linux云计算之Linux基础2——Linux发行版本的安装
  • C++:赋值运算符(17)
  • Spring Boot | Spring Boot的“数据访问“、Spring Boot“整合MyBatis“