Я пытаюсь выполнить POST из моего angular приложения в Asp. Net MVC Controller, но я не могу отправить параметры. Кажется, ноль. Когда я делаю POST-запрос к Postman, он успешно выполняет POST-запрос.
Контроллер:
public ActionResult Index()
{
return View();
}
[HttpPost]
[AllowCrossSiteJson]
public ActionResult Index(PersonModel person)
{
int? personId = person.PersonId;
string name = person.Name;
string gender = person.Gender;
string city = person.City;
return View();
}
Я пробовал следующее, но это не сработало:
Тип содержимого: 'application / x- www-form-urlencoded'
Тип содержимого: 'application / json; charset = utf-8 '
- заголовки не существуют: this.httpClient.post (' http://localhost: 62918 / ', person) .subscribe (..)
- JSON .stringify -> this.httpClient.post ('http://localhost: 62918 / ', JSON .stringify (person) .subscribe (..)
angular 8:
const httpOptions = {
headers: new HttpHeaders({'Content-Type':'application/json'})
};
const person = {PersonId: 2, Gender: 'M', City: 'New York', Name: 'Adam'};
this.httpClient.post('http://localhost:62918/', person, httpOptions ).subscribe(
(res) => console.log("res:", res),
);
POSTMAN - запрос fiddler Raw:
POST http://localhost: 62918 / HTTP / 1.1 Content- Тип: application / json Пользователь-агент: PostmanRuntime / 7.23.0 Принятие: / Контроль кэша: без кэширования Почтальон-токен: aa404f5f-4e52-4a95-91e4-dc3037c4b1df Хост: localhost: 62918 Принимать- Кодировка: gzip, deflate, br. Длина контента: 83 Соединение: keep-alive
{PersonId: 2, Имя: 'Адам', Пол: 'M', Город: 'Нью-Йорк'}