Я пытаюсь сделать запрос на отправку от AngularJS в WebAPI в другом домене.AngularJS ОПЦИИ запрос на веб-интерфейс API
$http({
method: 'POST',
url: 'http://www.test.com/api/app/controller',
data: postdata,
headers: {
'Content-Type': 'application/json'
}
})
.then(function(response) {
// Do stuff
}, function() {
// Show error
})
.finally(function() {
// Cancel loading indicator
});
Я считаю, что веб-API правильно настроен для обработки запросов CORS. Если я сделаю запрос CORS OPTIONS с помощью клиента Chrome Advanced REST, вернутся правильные заголовки и код ответа 200.
Когда я делаю вызов POST выше, выполняется запрос предварительной проверки. Это всегда заканчивается кодом 504. Записи в моем приложении Application_BeginRequest никогда не попадают (что происходит при вызове из плагина Chrome).
В чем разница между звонками из AngularJS и плагином Chrome? Оба запускаются с одной машины, и AngularJS работает в приложении на localhost. Те же заголовки устанавливаются в обоих вызовах.