Я пытаюсь отправить запрос 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. Как я могу это исправить?