TypeError:无法获取 - 反应js

时间:2018-03-25 15:42:47

标签: javascript reactjs

我想将数据发送到我的服务器,但是我收到了这个错误:

TypeError:无法获取

enter image description here

我的代码:

function login(username, password) {
    const requestOptions = {
        method: 'POST',
        headers: { 'Content-Type': 'application/json','charset':'utf-8' },
        body: JSON.stringify({ 'username':username , 'password':password })
    };

    console.log(requestOptions);

    return fetch(BASE_URL+serverConstants.LOGIN_POST_REQUEST, requestOptions)
        .then(response => {
            if (!response.ok) {
                return Promise.reject(response.statusText);
            }

            return response.json();
        })
        .then(user => {
            // login successful if there's a jwt token in the response
            if (user && user.token) {
                // store user details and jwt token in local storage to keep user logged in between page refreshes
                localStorage.setItem('user', JSON.stringify(user));
            }

            return user;
        });
}

但我在邮递员身上测试了我得到了正确答案。

enter image description here

2 个答案:

答案 0 :(得分:0)

您的预检请求失败。允许您正在使用的API的交叉原点:

在节点中你可以这样做,

res.header("Access-Control-Allow-Origin", "*");

希望这有帮助

答案 1 :(得分:0)

如果您想从postman软件中向表单服务器发送值,例如表单数据,则应使用formData(您无需从任何类导入FormData):< / p>

var formData = new FormData()
formData.append('yourKey, 'yourValue');

  var requestOptions = {
    method: 'POST',
    headers: {
        'Accept': 'application/json'
    },

    body: formData
};

return fetch('Your url', options)
    .then(checkStatus)
    .then(parseJSON);

当然应该从服务器端启用CORSCORS取决于您的服务器端语言。