错误提示:
Uncaught (in promise) Error: Error
at ./src/utils/request.js._default
按教程手册中的范例,提交到后端服务器,后端已经输出数据,但是提示如上错误。这是哪里的问题呢?
export function getList(query) {
return request({
baseURL: 'http://localhost:8080',
url: '/url/',
method: 'get',
params: query
})
}
参考了范例
// api/article.js
import request from '../utils/request';
export function fetchList(query) {
return request({
url: '/article/list',
method: 'get',
params: query
})
}
// views/example/list
import { fetchList } from '@/api/article'
export default {
data() {
list: null,
listLoading: true
},
methods: {
fetchData() {
this.listLoading = true
fetchList().then(response => {
this.list = response.data.items
this.listLoading = false
})
}
}
}
4条答案
按热度按时间rvpgvaaj1#
谢谢你的问题,让我找到了解决方法。由于作者在 request 中接口code 如果非 20000 则Promise reject 掉了结果,尽管已经返回了正确数据!!!所以需要修改下,解决方法如下:
将
src/utils/request.js
中的vue-element-admin/src/utils/request.js
Line 49 in f7a9d21
| | if(res.code!==20000){ |
改为你正常情况下的 code 值就可以正常返回数据了,比如我的改成
if (res.code !== 200)
7fyelxc52#
您好,但是但我将改成if (res.code !== 200)后,就直接无法进入页面了,点击login会出现error,
我怀疑是因为官方的login页面返回的code值为20000,但是我改成了if (res.code !== 20000 && res.code !== 200)依然不行
xggvc2p63#
您好,但是但我将改成if (res.code !== 200)后,就直接无法进入页面了,点击login会出现error,
我怀疑是因为官方的login页面返回的code值为20000,但是我改成了if (res.code !== 20000 && res.code !== 200)依然不行
custom code
voj3qocg4#
您好,但是但我将改成if (res.code !== 200)后,就直接无法进入页面了,点击login会出现error,
我怀疑是因为官方的login页面返回的code值为20000,但是我改成了if (res.code !== 20000 && res.code !== 200)依然不行
custom code
问题解决了,因为我的后端写的过于简陋,我的response.code是没有定义的,所以不行,可以在request那里进行alert展示你自己的code,这里的code不是状态码。
非常感谢