Как работать с запросом OPTION? - PullRequest
0 голосов
/ 15 марта 2019

У меня есть следующий код:

window.fetch(myServerURL, {
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  method: "POST",
  body: JSON.stringify(app.jsonRequest)
})
.then(res => res.json())
  .then(json => {
    if (json.affectedRows === 1) {
      okMessage("Be welcome and check your email!");
    } else {
      errorMessage('Sorry! Please try again later.');
    }
})

, который имеет право отправлять сообщение на мой сервер и регистрировать нового пользователя в моей системе, используя базу данных MySQL. И это работает нормально, но мои сообщения не отображаются.

(Да, я должен проверить больше, чем просто json.affectedRows, чтобы убедиться, что регистр был вставлен правильно, но я упрощаю проблему, чтобы прояснить ситуацию здесь.)

Это происходит, когда я обнаруживаю OPTIONS запроса предполета, и это заставляет мою логику сбить с толку, потому что кажется, что он получает ответ OPTIONS первым и НЕ имеет затронутых строк для сравнения. Фактически, запрос OPTIONS генерирует только OK, поскольку на стороне сервера настроено CORS.

С другой стороны, когда я пишу

.then(json => {
  console.log(json);
}

чтобы попытаться перехватить этот OK ответ на запрос OPTIONS, ответ будет

{"fieldCount":0,"affectedRows":1,"insertId":1845,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}

как будто не было запроса OPTIONS.

Попробовав другие возможные решения, но безуспешно, я хотел бы спросить вас, как мне быть с этим, чтобы мои сообщения отображались?

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