Я знаю, что этот вопрос задавали тысячу раз, но я не могу понять, почему один запрос на выборку работает, а другой - нет.
Я получаю сообщение об ошибке: «На запрошенном ресурсе отсутствует заголовок« Access-Control-Allow-Origin ». Следовательно, для источника« http: // локальный: 3000 »не разрешен доступ».
Вот рабочий
let responseGoogle = (response) => {
console.info(response)
let lastName = response.profileObj.familyName
let firstName = response.profileObj.givenName
let email = response.profileObj.email
let tokenid = response.googleId
let userData = {
firstName: firstName,
lastName: lastName,
email: email,
token_id: tokenid
}
window.location.replace("http://localhost:3000/")
return fetch('/api/user', {
method: 'post',
body: JSON.stringify(userData),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
}
но этот не
handleClick = (name, symbol, price) => {
this.props.setMessage()
let userData = {
name: name,
symbol: symbol,
priceAtSubscription: price
}
console.info(JSON.stringify(userData))
return fetch('http://localhost:5000/api/user', {
method: 'post',
body: JSON.stringify(userData),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
})
}
Это очень важно, большое спасибо за вашу помощь!
Между этими запросами есть ключевое различие. Первый, похоже, делает запрос к тому же источнику, что и клиентский сервер. Вот почему ваш URL-адрес просто /api/user
. Когда клиент делает запрос к серверу того же происхождения, вам не нужно включать источник в URL-адрес, и нет проблем с CORS.
Ваш второй URL-адрес http://localhost:5000/api/user
также включал источник в URL-адрес. Теперь ваш первый URL-адрес может работать либо из-за прокси-сервера, либо из-за того, что клиент обслуживается тем же сервером.
В случае прокси-сервера, включая происхождение, прокси-сервер будет передавать вам ошибку CORS.
В случае, когда второй запрос отправляется на другой сервер, вам необходимо убедиться, что сервер разрешит запрос от этого клиента.
Надеюсь это поможет.
очень рад помочь!
Хаим ты ученый и человек. Это очень помогло понять, что происходит, спасибо!