react中 如何异步展示后台接口的提示消息
调用接口后,后台会返回这样的一段信息提示:{"errCode":400002,"errMsg":"字段校验异常","data":{"jzq":"日期不能为空","cfmc":"名称不能为空","jdrq":"决定日期不能为空","cflb1":"类别1不能为空"}}
先补充点一些其他的知识:
关于axios(以前用的jquer的ajax请求,现在大都推崇axios来代替)
参考地址:http://www.tuicool.com/articles/yINjEb6
执行 POST 请求
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
项目框架用到的技术组合:
1.react+ant design+react-router+redux(关于每个框架具体是怎么用和用来做什么的还请自己查阅相关文档)
2. 使用 immutable state
React 与 ES2015 的 Class 语法搭配的很好.
class HelloMessage extends React.Component {
render() {
return
Hello {this.props.name}
} }
4.打包编译工具:babel
下面进入今天的主题:一个业务场景是这样的,我有一个表单,我正在编辑该表单的某些字段,然后当我点击“保存”按钮的时候,执行保存,成功提示“保存成功”,如果失败,需要提示后台返回的错误消息:具体是那个字段出问题了。
现在回到我的代码上来,其实这个功能按照传统的jQuery模式很简单,ajax后分success或者erro就可以做操作了!在react中,在看看应该如何来实现:
 handleSubmit = (e) => {
        e.preventDefault();
        this.props.form.validateFieldsAndScroll((errors, values) => {
            if (errors) {
                console.error(errors);
                return;
            }
            const payload = {...this.props.xkObj, ...values};
        //调用执行修改函数
            this.props.xzxkService.updateXzxk(payload)
                .then(data=> {
                    console.log('data', data);
                    Utils.pushLink('/reporting/xxxx')
                })
                .catch(error=> {
            //当有错误消息是提示错误消息
                    const err = {errCode: error.errCode, errMsg: error.errMsg, data: error.data};
                    console.log('err', err);
                    let hlresultMessage ="";
                    hlresultMessage +='错误消息:';
                    if (err) {
                        for(let i in  err.data){
                            hlresultMessage +=err.data[i]+',';//组装这个对象,拼接错误消息
                        }
                        //alert(hlresultMessage);
                        Modal.error({//使用模态框的error模式,需要引入对应的组件
                            title:'错误消息',
                            content:hlresultMessage
                        })
                    }
                });
        });
    };
react中 如何异步展示后台接口的提示消息的更多相关文章
- 前后端通信中使用Ajax与后台接口api交互(以登录功能为例)
		一.查阅开发文档 首先,要做这个功能前,我们必须先查阅后台接口文档,了解使用登录接口时,需要提交哪些参数,并且接口使用返回的数据. 这里我使用了一个返回json格式数据的登录接口为例,讲解怎么使用Aj ... 
- 在.net core web api项目中安装swagger展示api接口(相当于生成api文档)
		1, 建立或打开项目后,在“程序包管理器控制台”中执行以下命令添加包引用: Install-Package Swashbuckle.AspNetCore 2,在项目中打开Startup.cs文件,找 ... 
- Vue axios异步获取后台数据alert提示undefined
		记录一个小问题,关于分页查询套餐 前台通过axios异步请求获取后台数据alert弹出数据提示undefined 下面有三个bean PageResult /** * 分页结果封装对象 */ publ ... 
- 在webpack搭建的vue项目中如何管理好后台接口地址
		在最近做的vue项目中,使用了webpack打包工具,以前在做项目中测试环境和生产环境的接口地址都是一样的,由于现在接口地址不一样,需要在项目打包的时候手动切换不同的地址,有时候忘记切换就要重新打包, ... 
- Linux中命令行编译java接口总是提示找不到符号的疑难杂症的解决
		今天学习java的接口,在linux的命令行下写代码练练手吧,啪啪啪一顿猛敲,写了一个接口UsbInserface,UDisk继承UsbInterface,写完了那就编译到bin目录呗. 当时写程序的 ... 
- 解决跨域、同源策略-React中代理的配置
		React中代理的配置 主要是解决同源策略的问题 何为同源策略? 因为我们React在3000端口,Vue在8080端口,而后台接口往往在5000,这种不同的端口之间就是一种跨域的问题了 axios发 ... 
- 在后台业务管理系统中使用Autofac实现微信接口的处理
		在后台业务管理系统中使用Autofac实现微信接口的处理,我们只需要把相关使用到的DLL放到BIN目录里面即可,通过IOC控制反转方式实现对接口的调用.在实现在业务系统里面,我们本身程序可能已经依赖了 ... 
- jquery中ajax异步调用接口
		之前写过一个原始的.无封装的页面,没有引入任何外部js,直接实例化Ajax的XmlRequest对象去异步调用接口,参见Ajax异步调用http接口后刷新页面,可对比一下. 现在我们用jquery包装 ... 
- 获取项目中所有URL--获取swagger上展示的接口信息
		有时我们需要接口的一些基本信息,比如接口请求路径,接口请求方式等,我们用这些信息来做判断,或者入库. 我在开发接口权限的时候就遇到了这个问题,之前写的接口很多,现在需要将这些接口信息存到数据库中, 用 ... 
随机推荐
- java学习笔记14-多态
			多态可以理解为同一个操作在不同对象上会有不同的表现 比如在谷歌浏览器上按F1会弹出谷歌的帮助页面.在windows桌面按F1会弹出windows的帮助页面. 多态存在的三个必要条件: 继承 重写 父类 ... 
- 使用 webpack-bundle-analyzer 分析 webpack 代码库拆分块
			github:https://github.com/webpack-contrib/webpack-bundle-analyzer 1.安装: cnpm install webpack-bundle- ... 
- DNS域名解析系统介绍
			域名系统(D N S)是一种用于T C P / I P应用程序的分布式数据库,它提供主机名字和 I P地址之间的转换及有关电子邮件的选路信息.这里提到的分布式是指在 I n t e r n e t上的 ... 
- 纯css实现树形结构
			纯css实现属性结构 **css实现属性结构的思路是利用伪类实现树形结构连接线,如果想实现点击展开和收 缩以及复选框效果还得配合js来实现.其实展开和收缩就是一个点击元素其子元素隐藏 和显示的切换.* ... 
- .Net Core 过滤器
			请求: public class MyRequest { [Required(ErrorMessage = "Name参数不能为空")]//Required 验证这个参数不能为空 ... 
- json读写
			import json l = [,,}] print(json.dumps(l)) d = dict(b=None,a=,c='abc') print(json.dumps(d, separator ... 
- 最小生成树&&次小生成树
			对于一个边上具有权值的图来说,其边权值和最小的生成树叫做图G的最小生成树 求无向图最小生成树主要有prim和kruskal两种算法 1.prim 将点集V分成Va和Vb两部分,Va为已经连入生成树的点 ... 
- mac: jenkins+ant+jmeter接口测试
			最近研究Jenkins平台上使用ant进行集成测试,在网上查阅了很多资料,将 jenkins+ant+jmeter简单使用方法记录下来,方便以后查阅.有很多不足之处,后期不断优化. 一.环境搭建 1. ... 
- TCP_IP Sockets编程C语言实现第2版  源码下载
			原书网址:http://cs.ecs.baylor.edu/~donahoo/practical/CSockets2/textcode.html 源码下载: 链接:https://pan.baidu. ... 
- 百度地图API根据地名获取经纬度
			运用了Geocoding API,它包括地址解析和逆地址解析功能. 地址解析是指,由详细到街道的结构化地址得到百度经纬度信息,且支持名胜古迹.标志性建筑名称直接解析返回百度经纬度.例如:“北京市海淀区 ... 
