axios req failed 错误:在 XMLHttpRequest.handleLoad 的结算 (settle.js:17) 处的 createError (createError.js:16

Posted

技术标签:

【中文标题】axios req failed 错误:在 XMLHttpRequest.handleLoad 的结算 (settle.js:17) 处的 createError (createError.js:16) 请求失败,状态码为 404【英文标题】:axios req failed Error: Request failed with status code 404 at createError (createError.js:16) at settle (settle.js:17) at XMLHttpRequest.handleLoad 【发布时间】:2021-06-11 23:24:06 【问题描述】:

我的补丁请求不起作用。当我在没有 AsyncThunk 的情况下发出补丁请求时,它可以正常工作并且不会给出任何错误,但是当使用 Thunk 时它会失败并给出以下错误。 在这张图片中可以看到错误

[![在此处输入图像描述][1]][1] 我正在发送 postData(带下划线的蓝色)。但我无法找到它显示未定义有效负载的原因。 [![在此处输入图像描述][2]][2] 另外,我将 2 个值作为对象传递给“asyncThunk”,因为它只需要一个参数作为有效负载。这是否是问题所在! [![在此处输入图片描述][3]][3]

export const updatePost=createAsyncThunk(
    'Post/updatePost',
    async(id,updatePost)=>
      try
      const data=await api.updatePost(id,updatePost);
      console.log(data)
       return data;

      catch(err)
        console.log('axios patch req failed',err)
      
    
)

const postSlice=createSlice(
name:'Post',
initialState:
posts:[],
status:'failure'
,
extraReducers:
[updatePost.fulfilled]:(state,action)=>
  console.log(action.payload)
    state.status='success'
              
    return state.posts.map((post)=>post._id === action.payload._id ?action.payload :post)
  ,
  [updatePost.pending]:(state,action)=>
    state.status='pending'
    console.log('pending due to',action)

  ,
  [updatePost.rejected]:(state,action)=>
    state.status='rejected'
    console.log('updatePost is rejected',action)

  

)```

** here is my patch request function **

```export const updatePost=(id,updatePost)=>axios.patch(`$url/$id`,updatePost)```

** dispatching my action **
```dispatch(updatePost(currentId,postData))```


  [1]: https://i.stack.imgur.com/Wb37y.png
  [2]: https://i.stack.imgur.com/86a4l.png
  [3]: https://i.stack.imgur.com/o0CLP.png

【问题讨论】:

【参考方案1】:

在查看错误图像时,它显示数据中的某些内容正在以undefined 的形式发送 我建议使用 console.log 并检查发送的未定义内容,并尝试解决该问题或使用其他一些信息更新问题。

【讨论】:

export const updatePost=createAsyncThunk( 'Post/updatePost', async(id,updatePost)=> try console.log(id,updatePost) const data=await api.updatePost (id,updatePost) 返回数据 catch (error) console.log(error) ------------------------ 在 console.log(id ,updatePost) ,它都显示为未定义 表示值,id和updatePost未定义尝试检查调用函数。

以上是关于axios req failed 错误:在 XMLHttpRequest.handleLoad 的结算 (settle.js:17) 处的 createError (createError.js:16的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用 axios 从 XML 中获取数据会引发 cors 错误? [复制]

axios删除后端未收到req.body

req.user 在 axios POST 请求中未定义,但 GET 工作正常

使用 Axios 检测 Nextjs API 路由的错误

multer req.files undefined with axios in react

如何将一组数据从客户端传递到 axios post 请求的 req.body