Отправка REST-запроса от реагирующего приложения - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь отправить запрос REST из приложения rest, но получаю ошибку 405.Мой поставщик домена посоветовал мне изменить файл web.config.

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Headers" value="Content-Type" />
      <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
    </customHeaders>
   </httpProtocol>
</system.webServer>

Я также использовал Microsoft.AspNet.WebApi.cors и добавил строку

config.EnableCors();

вWebApiConfig.cs и добавил заголовки

[EnableCors(origins:"http://localhost:3000",headers:"*",methods:"*")]

в действие моего контроллера.

А на стороне клиента я пробовал использовать Fetch:

 const payload = {
            dos: "window",
            did: "123456",
            phone: userName,
            password: password
        };
        const options = {
          method: 'POST',
          mode: 'cors',
          headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/jsonp',
          },
          body: JSON.stringify(payload),

        };

        // SEND REQUEST
        fetch('myUrl/API/login_staff', options).then((response) => {
          console.log(response);
        }).catch((error) => {
          console.log(error)
        });  

Но яполучаю ошибку 505 с последующим: Не удалось загрузить myUrl : Заголовок 'Access-Control-Allow-Origin' содержит несколько значений 'http://localhost:3000, *', но разрешено только одно.Происхождение 'http://localhost:3000' поэтому не разрешено.Пусть сервер отправит заголовок с допустимым значением, или, если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса в 'no-cors', чтобы получить ресурс с отключенным CORS. Как я могу это исправить?

...