Ответ на предпечатную проверку не имеет статуса HTTP ok в axios - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь добавить станции, используя API открытой погоды, и делаю пост-запрос, используя axios

const stationData={
        external_id:this.state.external_id,
        name:this.state.name,
        latitude:this.state.latitude,
        longitude:this.state.longitude,
        altitude:this.state.altitude,
        }


    const url = `http://api.openweathermap.org/data/3.0/stations?appid=${ApiKey}`;

    var headers = {
        'Content-Type': 'application/json;charset=UTF-8', 
        "Access-Control-Allow-Origin": "*"
    }

    axios.post(url, data, {headers: headers}).then((response)=>{
console.log("response is " + response);
      }).catch((err)=>{
console.log("error is " + err);
      })

но это дает мне ошибку

OPTIONS http://api.openweathermap.org/data/3.0/stations?APPID=2747592557924542516e283a7f905a81 404 (Not Found)

Failed to load http://api.openweathermap.org/data/3.0/stations?APPID=2747592557924542516e283a7f905a81: Response for preflight does not have HTTP ok status.

error is Error: Network Error

Если я использую Почтальона для отправки запроса на почту, он работает там, любая помощь, пожалуйста ??

1 Ответ

0 голосов
/ 29 октября 2018

Из Axios Git: К сожалению, я думаю, что это сводится к одной из страшных проблем CORS, с которыми часто сталкиваются разработчики.Я мог продублировать это, и я попробовал несколько способов тыкнуть в него, чтобы заставить предварительный запрос работать, но я не смог найти отверстие на сервере, чтобы пропустить меня через

Другие полезные ссылки: не может заставить POST кросс-сайта работать , не может сделать почтовый запрос (кросс-домен) .По сути, это проблема безопасности браузера, а не Axios.Они не планируют заниматься этим: либо вы выбираете другую библиотеку, либо обрабатываете ее из своего бэкэнда.Обратите внимание, что при отключенной опции безопасности в Chrome запрос работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...