Получение сети::ERR_SSL_PROTOCOL_ERROR

#javascript #node.js #reactjs #rest #redux

Вопрос:

Я пытаюсь выполнить простую аутентификацию при входе в систему с помощью моего REST api, созданного с использованием модуля passport в nodejs . Мой интерфейс вызывает эту функцию, но эта функция возвращает ошибку, и аутентификация не выполняется . Сообщение fn не работает .

ОШИБКА В КОНСОЛИ

 export const loginUser = (creds) => (dispatch) => {
    // We dispatch requestLogin to kickoff the call to the API
    dispatch(requestLogin(creds))

    return fetch(baseUrl   'users/login', {
        method: 'POST',
        headers: { 
            'Content-Type':'application/json' 
        },
        body: JSON.stringify(creds)
    })
    .then(response => {
        console.log("HELLO");
        if (response.ok) {
            return response;
        } else {
            var error = new Error('Error '   response.status   ': '   response.statusText);
            error.response = response;
            throw error;
        }
        },
        error => {
            throw error;
        })
    .then(response => response.json())
    .then(response => {
        console.log("HELLO2");
        if (response.success) {
            // If login was successful, set the token in local storage
            localStorage.setItem('token', response.token);
            localStorage.setItem('creds', JSON.stringify(creds));
            console.log(response);
            // Dispatch the success action
            // dispatch(fetchFavorites());
            dispatch(receiveLogin(response));
        }
        else {
            var error = new Error('Error '   response.status);
            error.response = response;
            throw error;
        }
    })
    .catch(error => dispatch(loginError(error.message)))
};
 

Ответ №1:

Итак, причина этого заключалась в том, что мое приложение размещало статические файлы, а также сервер вместе . Таким образом, сервер отвечал файлом 404 вместо данных json в качестве ответа . Решено, когда я разделил клиент и сервер отдельно и разместил их на разных платформах .