【发布时间】:2017-11-27 14:50:42
【问题描述】:
我正在使用 axios 并收到 400 bad request 错误。我正在使用 react-redux 并尝试向 localhost:3000/posts 发送发布请求。这是我正在使用的代码。
import axios from 'axios';
import {
GET_ALL_POSTS,
GET_POST,
CREATE_POST,
DELETE_POST,
UPDATE_POST
} from './types';
const ROOT_URL = 'http://localhost:3000';
export function createPost({content, title}, cb) {
return function(dispatch) {
axios.post(`${ROOT_URL}/posts`, {content, title})
.then((response) => {
console.log(response);
dispatch({
type: CREATE_POST,
payload: response
});
})
.then(() => cb())
.catch((error) => {
console.log("Problem submitting New Post", error);
});
}
}
【问题讨论】:
-
在
.catch()中,记录到控制台的错误的全文是什么?你能从服务器获得任何信息吗?比如,如果你使用 Express,如果你在对app.post('/posts', (req, res){})的调用中使用console.log(req),你会得到什么? -
问题提交新帖子错误:在 XMLHttpRequest.handleLoad (bundle.js:28850) 的结算 (bundle.js:37974) 处的 createError (bundle.js:29014) 请求失败,状态代码为 400错误,如果我 console.log(req) 我什至没有达到这一点。好像什么都没有发送到服务器。 @skwidbreth
-
嗯——看来你不是第一个遇到这个问题的人。看到这篇文章 - github.com/mzabriskie/axios/issues/376 - 看起来底部可能有一个有用的答案。
-
@skwidbreth 他们似乎没有收到 400 错误,看起来他们正在尝试处理错误处理。由于某种原因,我的数据根本没有发布到服务器上。我认为更改错误的解释方式不会解决我的问题。
-
它在 wifi 上,一切运行良好。我的服务器说它在端口 3000 上运行,而我的客户端在 8080 上使用 webpack 运行。我可以向我的 localhost:3000/signin 发出发布请求,但是当涉及到 /posts 时,如果我控制台,它会给我一个错误的请求.log(error.response.data) 在 catch