调用接口后,后台会返回这样的一段信息提示:{"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

3.使用 Classes

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中 如何异步展示后台接口的提示消息的更多相关文章

  1. 前后端通信中使用Ajax与后台接口api交互(以登录功能为例)

    一.查阅开发文档 首先,要做这个功能前,我们必须先查阅后台接口文档,了解使用登录接口时,需要提交哪些参数,并且接口使用返回的数据. 这里我使用了一个返回json格式数据的登录接口为例,讲解怎么使用Aj ...

  2. 在.net core web api项目中安装swagger展示api接口(相当于生成api文档)

    1,  建立或打开项目后,在“程序包管理器控制台”中执行以下命令添加包引用: Install-Package Swashbuckle.AspNetCore 2,在项目中打开Startup.cs文件,找 ...

  3. Vue axios异步获取后台数据alert提示undefined

    记录一个小问题,关于分页查询套餐 前台通过axios异步请求获取后台数据alert弹出数据提示undefined 下面有三个bean PageResult /** * 分页结果封装对象 */ publ ...

  4. 在webpack搭建的vue项目中如何管理好后台接口地址

    在最近做的vue项目中,使用了webpack打包工具,以前在做项目中测试环境和生产环境的接口地址都是一样的,由于现在接口地址不一样,需要在项目打包的时候手动切换不同的地址,有时候忘记切换就要重新打包, ...

  5. Linux中命令行编译java接口总是提示找不到符号的疑难杂症的解决

    今天学习java的接口,在linux的命令行下写代码练练手吧,啪啪啪一顿猛敲,写了一个接口UsbInserface,UDisk继承UsbInterface,写完了那就编译到bin目录呗. 当时写程序的 ...

  6. 解决跨域、同源策略-React中代理的配置

    React中代理的配置 主要是解决同源策略的问题 何为同源策略? 因为我们React在3000端口,Vue在8080端口,而后台接口往往在5000,这种不同的端口之间就是一种跨域的问题了 axios发 ...

  7. 在后台业务管理系统中使用Autofac实现微信接口的处理

    在后台业务管理系统中使用Autofac实现微信接口的处理,我们只需要把相关使用到的DLL放到BIN目录里面即可,通过IOC控制反转方式实现对接口的调用.在实现在业务系统里面,我们本身程序可能已经依赖了 ...

  8. jquery中ajax异步调用接口

    之前写过一个原始的.无封装的页面,没有引入任何外部js,直接实例化Ajax的XmlRequest对象去异步调用接口,参见Ajax异步调用http接口后刷新页面,可对比一下. 现在我们用jquery包装 ...

  9. 获取项目中所有URL--获取swagger上展示的接口信息

    有时我们需要接口的一些基本信息,比如接口请求路径,接口请求方式等,我们用这些信息来做判断,或者入库. 我在开发接口权限的时候就遇到了这个问题,之前写的接口很多,现在需要将这些接口信息存到数据库中, 用 ...

随机推荐

  1. mysql init password centos

    https://www.cnblogs.com/FlyingPuPu/p/7783735.html

  2. 基于Mint UI和MUI开发VUE项目一之环境搭建和首页的实现

    一:简介 Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.通过它,可以快速构建出风格统一的页面,提升开发效率.真正意义上的按需加载组件.可以只加载声明过的组件及其样式 ...

  3. 「ZJOI2014」力 FFT

    FFTl裸题,小于的部分直接做,大于的部分倒序后再做就行了. #include <bits/stdc++.h> using namespace std; const int MAXN = ...

  4. 4、获取Class中的构造函数

    4.获取Class中的构造函数 4.1 早期创建对象 早期创建对象,先根据被new的类的名称找寻该类的字节码文件,并加载进内存,并创建该字节码文件对象,并接着创建该接文件的对应的Person对象 co ...

  5. date/clock/hwclock/cal

    date 显示日期与时间 date +%Y/%m/%d/%H:%M 2018/10/08/17:35 格式化输出 时间的设置 查看时区 date -R 时间戳转化 time1=$(date +%s - ...

  6. bzoj4400

    /* * 此题同bzoj2725 * 增加了枚举边的操作 */ #include <bits/stdc++.h> ;// oo = 999999999; #define LL long l ...

  7. Bzoj 3631: [JLOI2014]松鼠的新家(树链剖分+线段树)

    3631: [JLOI2014]松鼠的新家 Time Limit: 10 Sec Memory Limit: 128 MB Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个 ...

  8. python3 操作ppt

    # pip install pywin32com# ppt太大会读取失败import win32com from win32com.client import Dispatch, constants ...

  9. Django基础之ModelForm

    1. form与model的终极结合 class BookForm(forms.ModelForm): class Meta: model = models.Book fields = "_ ...

  10. sql mode 问题及解决 错误代码:1055 this is incompatible with sql_mode=only_full_group_by

    数据库升级到5.7.21后,一个正常的分组后按日期排序,并返回数据的语句开始报错: 语句如下: SELECT id,title,add_time FROM `message` GROUP BY add ...