axiso基本使用及python接收处理
安装$ npm install axios
1.发送get请求:
axios.get("/api/v1.0/cars?id=132").then(function(res){
console.log(res)
}).catch(function(err){
console.log(err)
});
2.发送post请求:
let params = {
id:4, ctime:'2019-03-1',name:"奔驰4"
}
//'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'
axios.post('/api/v1.0/cars',params,{
headers: {
'Content-Type':'application/json'
}
}).then(res=>{
console.log(res.data)
},err =>{
console.log(err)
})
},
使用flask模拟后台提供接口,只需要修改config/index.js 下的配置项
proxyTable: {
'/api':'http://localhost:5000/',
},
flask 服务器端接口定义:
@app.route('/api/v1.0/cars', methods=['GET','POST'])
def get_cars():
if request.method == 'POST':
car = request.get_json() #接受post提交的参数
cars.append(car)
print(car)
return jsonify({'ok':'ok'})
else:
id = request.args.get("id") #接受get请求的参数
if id:
print("id:", id)
for item in cars:
if id == item.get("id"):
return jsonify({'cars': item})
return jsonify({'cars': "id 为" + id + "的车不存在!"})
else:
return jsonify({'cars': cars})
3.put 请求
axios.put("/api/v1.0/cars?id=1&name=宝马x").then(function(res){
console.log(res)
}).catch(function(err){
console.log(err)
});
flask 服务器端接受put请求处理:
@app.route('/api/v1.0/cars', methods=['PUT'])
def put_cars():
"""更新指定id的car的name信息"""
id = request.args.get("id")
name = request.args.get("name")
print(request.args)
for item in cars:
if int(id) == item.get("id"):
item['name'] = name
return jsonify({'cars': item})
return jsonify({'cars': "id 为" + id + "的车不存在!"})
4.delete请求
axios.delete("/api/v1.0/cars?id=2").then(function(res){
console.log(res)
}).catch(function(err){
console.log(err)
});
flask 服务器端接受delete请求处理
@app.route('/api/v1.0/cars', methods=['DELETE'])
def delete_cars():
"""删除指定id的car信息"""
id = request.args.get("id")
print(request.args)
for item in cars:
if int(id) == item.get("id"):
cars.remove(item)
return jsonify({'errno': 0, 'errmsg': "delete ok"})
return jsonify({'cars': "id 为" + id + "的车不存在!"})
5.get请求路径作为参数时
axios.get("/api/v1.0/cars/3").then(function(res){
console.log(res)
}).catch(function(err){
console.log(err)
});
flask处理
@app.route('/api/v1.0/cars/<int:id>', methods=['GET'])
def get_cars_by_id(id):
for item in cars:
if int(id) == item.get("id"):
return jsonify({'cars': item})
return jsonify({'cars': "id 为" + id + "的车不存在!"})
6.axios文件上传:
<form>
<input type="text" value="" v-model="name" placeholder="请输入用户名">
<input type="text" value="" v-model="age" placeholder="请输入年龄">
<input type="file" @change="getFile($event)">
<button @click="submitForm($event)">提交</button>
</form>
data:function(){
return{
name:'',
age:'',
file:''
}
},
getFile(event) {
this.file = event.target.files[0];
console.log(this.file);
},
submitForm(event) {
event.preventDefault();
let formData = new FormData();
formData.append('name', this.name);
formData.append('age', this.age);
formData.append('file', this.file);
console.log(formData)
let config = {
headers: {
'Content-Type': 'multipart/form-data'
}
}
axios.post('/api/v1.0/upload', formData, config).then(res=>{
console.log(res);
}).catch(err=>{
console.log(err)
})
},
flask服务器端接受
@app.route('/api/v1.0/upload', methods=['GET', 'POST'])
def upload_file():
upload_time = time.strftime("%Y%m%d%H%M%S", time.localtime())
name = request.form.get("name")
age = request.form.get("age")
print("name:" + name + ",age:" + age)
f = request.files['file']
f.save("upload/" + upload_time + f.filename)
return jsonify({'msg': "ok"})
axiso基本使用及python接收处理的更多相关文章
- Python接收邮件并保存至MySQL
转自:http://www.360doc.com/content/14/0103/13/11789990_342303735.shtml 参考了一些网络上的资料,做了个简单程序,使用python接收邮 ...
- python接收字符并回显
# -*- coding: utf-8 -* import serial import time # 打开串口 ser = serial.Serial("/dev/ttyAMA0" ...
- python接收axios的post请求,并处理后返回数据
公司的python工程师不会js和python数据交互,所以我就去试了一下. 首先安装python,django框架和django-cors-headers. python官网下载,按提示操作,记住最 ...
- python接收图片变成缩略图
python图像处理库:Pillow初级教程 Image类 Pillow中最重要的类就是Image,该类存在于同名的模块中.可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建 ...
- python接收邮件
# -*- coding: utf-8 -*- import poplib import email from email.parser import Parser from email.header ...
- python接收html页面上传的文件
使用的 flask, 没有安装的先安装 pip install flask 示例代码:示例没有自动创建静态文件夹,需要自己在同级 创建一个名为 static 的文件夹来存放上传的文件 示例展示为图片 ...
- Python接收执行参数
1.python内置模块sys的sys.argv函数会将解释器执行时的所有参数保存为一个列表. a.首先创建文件login.py #!/usr/bin/env python #-*- coding:u ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
随机推荐
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-5.开源工具的优缺点选择和抽象方法的建议
笔记 5.开源工具的优缺点选择和抽象方法的建议 简介:讲解开源工具的好处和弊端,如pageHeper分页拦截器,tk自动生成工具,抽象方法的利弊等 1.开源工具 好处: ...
- powerdesigner使用遇到的一些问题
1.数据库逆向生成er图时,连接数据库问题 由于powerdesigner版本是32位,可能就导致不兼容64位的机器,导致连接mysql失败: 解决方法:方法1.重新配置32位jdk 方法2.mysq ...
- weblogic密码重置----未做成
1.备份DefaultAuthenticatorInit.ldift文件 [root@test4 ~]# find / -name DefaultAuthenticatorInit.ldift /ap ...
- c/c++编码规范(1)--头文件
最近工作稍微轻松一点,就再学习了一下编码规范.遂记些笔记,以便查阅. 这次学习的是Google 开源项目风格指南中文版,地址是:http://zh-google-styleguide.readthed ...
- JavaScript(7)——DOM
什么是 DOM? DOM是 Document Object Model(文档对象模型)的缩写 DOM是 W3C(万维网联盟)的标准. DOM 定义了访问 HTML 和 XML 文档的标准: “W3C ...
- vue新增属性是否会响应式更新?
原文地址 在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的. 根据官 ...
- ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
该错误原因是libpython3.6m.so.1.0不存在 解决方案 1.查看/usr/lib/x86_64-linux-gnu/目录下是否存在libpython3.m.so.1.0文件,或者直接全盘 ...
- SecureCRT 8.3注册码下载
SecureCRT注册码是一款针对“SecureCRT 8.3”软件而制作的激活破解工具,可以完美激活“SecureCRT”软件,从而达到免费使用的目的.而SecureCRT则是一款非常优秀的且支持s ...
- C学习笔记-小程序(长期更新)
产生随机数 int t = (int)time(NULL); srand(t); int num = rand() % 10; 利用keybd_event函数自动打印,mouse_event函数保存文 ...
- Angular ViewChild & ViewChildren
基础 ViewChild ViewChild 装饰器用于获取模板视图中的元素或直接调用其组件中的方法.它支持 Type 类型或 string 类型的选择器,同时支持设置 read 查询条件,以获取不同 ...