Vue的网络请求
时间:2022-06-26
本文章向大家介绍Vue的网络请求,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Vue的高版本里, 建议使用 axios 发起网络请求
- 安装
npm install axios
npm install --save axios vue-axios
2.在入口文件配置
import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios)
3. 组件里用按钮绑定事件用来发起请求
<template>
<div>
<button @click="getRequest">get请求</button>
<button @click="postRequest">post请求</button>
</div>
</template>
methods:{
getRequest(){}
postRequest(){}
}
完整的页面代码:
<template>
<div>
<button @click="getRequest">get请求</button>
<button @click="postRequest">post请求</button>
</div>
</template>
<script>
import Vue from 'vue';
/*
* Vue的高版本里, 建议使用 axios 发起网络请求
* */
export default {
name: "Communication",
methods:{
getRequest(){
Vue.axios.get('/api/get', {
params: {
name:'砂瀑我爱罗',
hobby:'篮球,唱歌'
}
}).then((response) => {
console.log(response.data)
}).catch((error)=>{
console.log("请求错误!",error);
});
},
postRequest(){
Vue.axios.post('/api/post', {
firstName: '卡西',
lastName: '卡'
},{
transformRequest:[function (data,headers) {
//data就是要传递的数据,现在是对象格式,我们需要将其转换为参数字符串格式
//headers也是对象,用于设置请求头的信息
headers.post["Content-Type"]="application/x-www-form-urlencoded";
//对data对象进行处理
//根据参数对象拼接 URL query 字符串
let allstr = '';
for (let key in data){
let str=key+"="+data[key]+"&";
allstr+=str;
}
// 去掉最后一个&字符
allstr=allstr.slice(0,allstr.length-1);
console.log(allstr);
return allstr;
}]
}).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.log(error);
});
}
}
}
</script>
<style scoped>
div{
width: 100%;
height: 75%;
background-color: #c4ceff;
}
</style>
4.创建(server)文件夹,创建js文件连接数据库
记得装模块.
配置: 在config文件夹下的index.js文件做如下配置:
proxyTable: {
// 配置网络请求的转发代理
"/api":{
target: 'http://127.0.0.1:1023',
changeOrigin: true
}
},
let express = require("express");
let bp = require('body-parser');
let app = express();
// app.use(bp.urlencoded({extended:false}));
app.use(bp.json());
app.get('/api/get',function (req,res) {
console.log(req.query.name,req.query.hobby);
res.json({name:'卡卡西',hobby:'你好'});
});
app.post('/api/post',function (req,res) {
console.log(req.body.firstName,req.body.lastName);
res.send("111");
});
app.listen(1023);
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- flutter 中监听滑动事件
- 如何通过Cloudera Manager页面自定义图表
- 【-Flutter组件篇- 】1.20新增组件InteractiveViewer
- Android使用SoundPool实现播放音效
- 【- FlutterUnit重大更新 -】Flutter要点集录.md
- Android实现美团外卖底部导航栏动画
- Kudu遇到的问题
- 【 -Flutter自定义组件- 】Wrapper组件,包裹装饰你的一切
- Android Shape属性创建环形进度条
- Ranger同步ldap组问题
- Android系统添加自定义鼠标样式通过按键切换实例详解
- Impala MetaData问题
- 聚焦 Android 11: UI 与 Compose
- 如何给Flutter界面切换实现点特效
- 恢复 RecyclerView 的滚动位置