Следующий шаг после OPTIONS / 200OK - PullRequest
0 голосов
/ 04 октября 2018

Aurelia SPA использует выборку на другом сервере происхождения.Предварительный запрос OPTIONS отправляется, и, поскольку сервер настроен на ответ, ответ 200 OK.

Но это все , что происходит.

Что я должен добавить, чтобы остальное произошло?

Вот запрос.

  this.http.fetch(this.LabelServiceUrl, {
    method: "post",
    mode: "cors",
    headers: {
      "Content-type": "application/json; charset=UTF-8"
    },
    body: json({
      printer: this.LabelPrinter,
      html: html
    })
  }).then(json)
    .then(response => {
      console.log('Success:', JSON.stringify(response))
    })
    .catch(error => {
      console.error('Error:', error)
    });

IIS настроен с помощью web.config

<system.webServer>
 <httpProtocol>
   <customHeaders>
     <add name="Access-Control-Allow-Origin" value="*" />
   </customHeaders>
 </httpProtocol>
</system.webServer>

1 Ответ

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

Вам не нужно делать ничего особенного, происходит волшебство, и затем запрос отправляется с нормальным ответом.

Если этого не происходит, как это было в моем случае, это происходит потому, что что-то вваш код не кошерный, но ошибка теряется где-то в рукопожатии, и все просто останавливается.

Поместите тестовую страницу в ваш веб-сервис, чтобы вы могли использовать веб-API без CORS.Когда ошибка будет устранена, снова протестируйте приложение.В моем случае проблемой была постоянная головная боль при получении сложных параметров из поста в граф объектов;мои занятия были не совсем подходящими для разбора магического WebAPI.

...