Axios 如果发送Post请求,并且带上请求参数时,会一直报请求超时,如下
// src/api/test.js
import request from '@/utils/request'
export default {
test () {
return request({
url: '/test',
method: 'post',
data: {
"name": "张三"
}
})
}
}
这个问题是因为mock-server中express的中间件body-parser导致的,表现为不带参数请求没有问题,带上参数就出现那种情况
解决方案如下:
- 将 mock\mock-server.js 文件下面的注释掉,再加上新的(大概第16行)
for (const mock of mocksForServer) {
// app[mock.type](mock.url, mock.response) // 此行注释掉 修改为下面这种
app[mock.type](mock.url, bodyParser.json(), bodyParser.urlencoded({
extended: true
}), mock.response)
mockLastIndex = app._router.stack.length
}
- 然后往下拉,找到下面的注释掉
// app.use(bodyParser.json())
// app.use(bodyParser.urlencoded({
// extended: true
// }))
- 修改后,完整的图示:
- npm run dev 重启项目,post请求正常!