Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 服务器';s error response在前端点击成功回调_Javascript_Rest_Axios - Fatal编程技术网

Javascript 服务器';s error response在前端点击成功回调

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

我有一个执行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(undefined);
})

并点击
onError
回调
!现在我完全不明白:两个不同的服务器返回相同的错误代码,但触发了不同的回调。

尝试将position
res
替换为
req
,如下:
app.get('/getsome',(req,res)=>{
尝试将position
res
替换为
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);
})