前提:
antdp版本V4
使用的是 umi-request
# 通过这种方式设置的 request不起作用,因为这是原始的request
import request from 'umi-request';
# 通过一下面的方法使用request起作用,因为拦截器设置在了utils下的request
import request from '@/utils/request'
修改方法:
修改文件:src/utils/request.js
/** 配置request请求时的默认参数 */
const request = extend({
// 'getResponse': 是否获取源 Response, 返回结果将包含一层: { data, response },true是获取,false是会简化成功200等响应
getResponse: true, // !!!! 添加此配置
// 错误处理
errorHandler,
credentials: 'include', // 默认请求是否带上cookie
});
使用:
使用示例:
*submitIntroduceForm({payload}, {call, put}) {
const response = yield call(submitRegister, payload);
// 设置上面的参数之后,如果想使用status,则通过response.response.status访问
console.log(response.response.status)
if (response.response.status >= 400 && response.response.status * 1 < 500) {
message.error('请检查表单错误');
yield put({
type: 'setFormError',
payload: response.data,
});
} else if (response.response.status === 201) {
message.success('发布成功');
}
},