Я пытаюсь сделать что-то очень простое в моем приложении Ionic4 - отправить данные в интерфейс Asp.Net Web API 2.Запрос выполнен успешно, но данные не получены на сервере.
import { HttpClient } from '@angular/common/http';
someAction(assetId: number) {
let asset = new FormData();
asset.append("assetId", assetId.toString());
asset.append("UserId", "1");
return this.httpClient.post(this.url + "SomeAction", asset, { headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }).toPromise();
}
На сервере (C #):
[HttpPost]
[Route("Service/SomeAction")]
public HttpResponseMessage SomeAction(AccessData asset)
{
return new HttpResponseMessage(_service.LogAsset(asset));
}
Объект asset
на сервере создан, но не содержит значений, отправленных клиентом.
Кроме того, удаление / изменение отправленных заголовков приводит к полному сбою запроса.
Редактировать: Удаление заголовка приводит к ошибке 404, а также имеет это в консоли:
Доступ к XMLHttpRequest в 'http://server' от источника' http://localhost' был заблокирован политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа:HTTP не имеет статуса ok.
Изменение заголовка на «multipart / form-data» приводит к ошибке 415 - неподдерживаемый тип носителя
Правка # 2: Это работает с почтальоном и HTTPBot (iPhone), только не из моего приложения Ionic