Javascript 服务器';s error response在前端点击成功回调
我有一个执行GET请求的代码: 服务器返回Javascript 服务器';s error response在前端点击成功回调,javascript,rest,axios,Javascript,Rest,Axios,我有一个执行GET请求的代码: 服务器返回409(冲突)状态。我希望调用onError,但总是调用onSuccess 这怎么可能?我亲眼看到chrome开发工具的响应状态是409 UPD:我用nodejs的express创建了一个模拟服务器: const express = require('express') const app = express() app.get('/getsome', (req, res) => { res.status(409); res.send
409
(冲突)状态。我希望调用onError
,但总是调用onSuccess
这怎么可能?我亲眼看到chrome开发工具的响应状态是409
UPD:我用nodejs的express创建了一个模拟服务器:
const express = require('express')
const app = express()
app.get('/getsome', (req, res) => {
res.status(409);
res.send(undefined);
})
并点击
onError
回调!现在我完全不明白:两个不同的服务器返回相同的错误代码,但触发了不同的回调。尝试将positionres
替换为req
,如下:app.get('/getsome',(req,res)=>{
尝试将positionres
替换为req
,如下:app.get('/getsome',(req,res)=>{
如果您使用以下代码发出get请求,它将给出正确的错误代码并跳转到catch块内。这是我处理axios中错误的标准方法,应该可以解决您的问题。请尝试一下
axios.get(“/getsome”)
。然后(响应=>{
console.log(响应)
})
.catch(错误=>{
console.log(“错误”)
});
如果使用以下代码发出get请求,它将给出正确的错误代码并跳转到catch块中。这是我在axios中处理错误的标准方法,应该可以解决您的问题。请尝试一下
axios.get(“/getsome”)
。然后(响应=>{
console.log(响应)
})
.catch(错误=>{
console.log(“错误”)
})原因如下:在另一个地方,我们使用http拦截器将axios连接到nprogress
库。删除该连接后,错误处理恢复正常
因此,一般提示:在这种情况下,检查http拦截器并断开/修复它们。原因如下:在另一个地方,我们使用http拦截器将axios连接到nprogress
库。删除该连接后,错误处理恢复正常
因此,一般提示:在这种情况下,检查http拦截器并断开/修复它们。现在您有两个请求—一个失败,一个成功,请尝试查看确切的响应(在开发工具中,或者与Postman一起)看看有什么不同。现在有两个请求——一个失败,一个成功,请尝试查看确切的响应(在开发工具中,或者使用Postman),看看有什么不同。这是一个输入错误,谢谢。但我想情况并不奇怪。确定服务器响应错误为409吗?请尝试axios then().catch()这是一个输入错误,谢谢。但我想情况并非如此。您确定您的服务器响应错误为409吗?请尝试axios then().catch()
const express = require('express')
const app = express()
app.get('/getsome', (req, res) => {
res.status(409);
res.send(undefined);
})