前后台交互ajax请求模块
下载依赖包axios
npm i axios -d
//在packge.json内配置proxy,配置请求基础路径
"proxy":"http://localhost:5000"
最基本的axios异步请求
/api/ajax.js
/*
能发送异步ajax请求的函数模块
封装 axios库
函数的返回值:是一个promise对象 (可以用.then()/ async await 进行异步处理)
*/
//引入axios库
import axios from 'axios';
//引入axios库的模块 export default function ajax(url, data={}, method='GET'){
if(method==='GET'){// 判断:发送 GET 请求
return axios.get(url,{// 配置对象
// params:{ID:12345}
params:data //指定请求参数
})
}else{//发POST请求
return axios.post(url,data)
}
}
//请求登陆接口
ajax('/login',{username:'tom',password:'123456'},'POST').then();
//添加用户
ajax('/manage/user/add',{username:'tom',password:'123456',phone:'13353545556'},'POST').then()
//任何一个操作都需要自己手动编写请求,所以过于繁琐复杂
//因此可配置api/index.js 来请求用户参数
//api/index /*
包含n个接口请求函数的模块
每个函数返回promise
*/
import ajax from 'ajax'; //登陆
export const reqLogin = (username,password) => ajax('/login',{username,password},'POST')
export const reqAddUser = (user) => ajax('/manage/user/add',user,'POST')
封装ajax请求模块
/*
能发送ajax请求的函数模块
包装axios
函数的返回值是promise对象
axios.get()/post()返回的就是promise对象
返回自己创建的promise对象:
统一处理请求异常
异步返回结果数据,而不是包含结果数据的response
*/
import axios from 'axios';
import { message } from 'antd';
export default function ajax(url, data = {}, method='GET'){ return new Promise((resolve, reject) =>{
let promise
//执行异步请求
if(method == 'GET'){
promise = axios.get(url,{params:data}) //params 配置指定的是query参数 }else{
promise = axios.post(url,data)
}
promise.then(response=>{
// 如果成功了,嗲用resolve(response.data)
resolve(response.data)
}).catch(error => {// 对所有ajax请求出错做统一处理,外层就不用再处理错误了
//如果失败了,提示请求后台出错
message.error('请求错误:'+error.message)
})
})
}
前后台交互ajax请求模块的更多相关文章
- jquery ajax返回json数据进行前后台交互实例
jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
- ajax实现异步前后台交互,模拟百度搜索框智能提示
1.什么是异步?在传统的网站项目中,填写一堆数据,最后点击提交,在点击提交的这一刻才实现数据提交,前后台交互.在你点击提交之前数据是没有提交到后台的.这样就会造成很大的不便.比如,我填了一大堆数据,结 ...
- ajax的底层前后台交互
为什么用ajax或者它的优点: 异步加载数据,无需切换页面 更加的用户体验,局部刷新,及时验证,操作步骤简化: 节省流量 js控制数据的加载,更加灵活多用. 底层就是XMLHttpRequest对象: ...
- extjs ajax请求与struts2进行交互
sencha extjs 5 增加一个struts2的配置,这样可以在设置好前台布局之后,与后台交互获取数据显示.现在有一个问题是struts2对于url的跳转action支 持比较良好,但是对于像E ...
- <day001>存储到Mysql、mongoDB数据库+简单的Ajax请求+os模块+进程池+MD5
任务1:记住如何存储到Mysql.mongoDB数据库 ''' 存储到Mysql ''' import pymysql.cursors class QuotePipeline(object): def ...
- 前后端数据交互(二)——原生 ajax 请求详解
一.ajax介绍 ajax 是前后端交互的重要手段或桥梁.它不是一个技术,是一组技术的组合. ajax :a:异步:j:js:a:和:x:服务端的数据. ajax的组成: 异步的 js 事件 其他 j ...
- AJAX请求.net controller数据交互过程
AJAX发出请求 $.ajax({ url: "/Common/CancelTaskDeal", //CommonController下的CancelTaskDeal方法 type ...
- ajax请求后台交互json示例
ajax请求,首先需要服务器(首先你需要node) npm i -g http-server 其次,进入当前目录(默认服务器端口8080) http-server 点击进入:localhost:808 ...
- Devexpress 使用经验 —— ASPxGridView前后台交互写法推荐
这里的格式是仁者见仁智者见智,这篇随笔只是我在工作过程中总结出的阅读性高,对我来说效率较高的写法. ASPX: <dx:ASPxGridView ID="ASPxGridViewLin ...
随机推荐
- Orleans 初接触
简介 这篇随笔主要记录了自己学习Orleans的经过和理解,在学习过程中会一直更新,思路和理解可能有些偏颇,如果有幸有大佬看到这篇文章,希望能给予批评指正. 导航 (一) 入门例子 (二) 测试用例 ...
- NodeJS4-7静态资源服务器实战_缓存
浏览器发出一个请求,服务器解析出响应的结果返回给浏览器. 缓存是怎么工作的? 用户发起请求,浏览器检查本地是否存在缓存,如果第一次请求没有缓存,那就向服务器发起请求,服务器协商缓存的内容并且返回响应, ...
- 获取本地计算机名称和Ip地址
using System.Net; Dns.GetHostName();//获取本地计算机主机名 IPAddress[] IP = Dns.GetHostAddresses(Dns.GetHostNa ...
- java8-Stream流API
一回顾与说明 经过前面发布的三章java8的博客,你就懂得了我们为什么要用Lamda表达式,Lamda表达式的原理与函数式接口的关系,从Lamda表达式到方法引用和构造引用. 想要学Stream流你必 ...
- 《Dotnet9》建站-本站Logo设计之路
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- 前后端分离crud(跨域问题)讲解
1 前后端分离 1.1 后端 ssm+maven 多模块 swagger 文档描述(代码拷贝过来,就可以生成了,https://www.cnblogs.com/wings-xh/p/11991511. ...
- docker安装redis 5.0.7并挂载外部配置和数据
环境 CentOS Linux release 7.7.1908 (Core) 拉取redis 5.0.7 镜像 docker pull redis:5.0.7 创建挂载目录 mkdir -p /ho ...
- React劲爆新特性Hooks 重构去哪儿网火车票PWA
React劲爆新特性Hooks 重构去哪儿网火车票PWA 获取课程资料链接:点击这里获取 本课程先带你细数最近一年来React的新特性,如Hooks.Redux API,让你从头理解Hooks对传统R ...
- 物联网架构_对AWS的Greengrass的认识与理解
物联网架构_对AWS的Greengrass的认识与理解 一,前言: 这段时间有许多的收获,分析,还有总结,其中包括新系统的设计与开发,以及其中新技术的踩坑等等等. 但是最近真的很忙,项目的推进,面试工 ...
- input输入框change和blur事件区别
blur与change事件在绝大部分的情况下表现都非常相似,输入结束后,离开输入框,会先后触发change与blur,唯有两点例外. 1.没有进行任何输入时,不会触发change 在这种情况下失焦后, ...