提取请求始终返回网络错误

时间:2018-08-09 05:44:46

标签: reactjs react-native request fetch

几天前,我几乎完成了React Native应用程序的创建。注册操作已停止工作。.我正在发送获取请求,它总是返回网络错误,尽管有400条响应,并且用户存在消息,但它在那里停止。 / p>

我正在破坏响应并显示api响应消息,而不是获取网络错误,但现在不起作用。我对登录操作也做同样的事情,并且有效。

可能包含multipart / form-data吗?

export const register = data => dispatch => {
    dispatch(createUser());
    const d = new FormData();
    d.append("name", data.name);
    d.append("email", data.email);
    d.append("password", data.password);
    d.append("avatar", data.avatar);
    fetch(API_URL + "/register", {
        method: "POST",
        headers: {
            "content-type": "multipart/form-data"
        },
        body:d
    })
    .then(response => response.json().then(user => ({ user, response })))
    .then(({ user, response }) => {
        if (!response.ok) {
            console.log(response, user)
        } else {
            console.log(response, user)
        }
    })
    .catch(err => {
        throw err;
    });
};

api路由适用于Postman。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您使用的提取错误地基于Promise,

尝试

fetch(API_URL + "/register", {
    method: "POST",
    headers: { "content-type": "multipart/form-data" },
    body:d
})
.then(response => {
      console.log(response, response.json().user)
})
.catch(err => {
    console.log(err)
});

检查日志,看看它是否显示正确的网络响应并从此处进行调试。