Ioni c: мой http.post для WebApi RestFull не работает - PullRequest
0 голосов
/ 01 апреля 2020

Я занимаюсь разработкой приложения с Ioni c Framework и изменяю некоторую информацию с помощью API своего веб-сервиса RestFull. Когда я соединяюсь с методом GET, он работает, но когда я пытаюсь соединиться с методом POST, он не работает.

Это код Ioni c:

import { HttpClient ] from '@angular/common/http';

constructor(private http: HttpClient ...)

И это функция (я возвращаю обещание):

var user = {"nom" : "whatever", "password" : "whatever2"};
var options =  { headers: {'Content-Type': 'application/json; charset=utf-8;'}};

return this.http.post(myLink, user, options).toPromise();

В веб-службе код (C#):

[Route("AuthFullUser")]
[HttpPost]
public HttpResponseMessage login([FromBody]User user){
var u = UserRepository.login(user.nom.ToString(), user.password.ToString());
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, u);

return response;
}

Если я пытаюсь ввести от Ioni c не работает, но с PostMan (приложение) он работает.

С другой стороны, если я поставлю [HttpOptions] выше [Route ("AuthFullUser")] Я могу получить доступ к веб-службе, но параметры NULL .

Я попытался сделать запрос с $. ajax {} или $. post {} , но не сработало.

Я попытался добавить заголовки:

"Acces-Control-Allow-Origin" : "*",
"Acces-Control-Allow-Credentials" : "true",
"Acces-Control-Allow-Methods" : "GET, POST, PUT, DELETE, OPTIONS",
"Acces-Control-Allow-Headers" : "Content-Type"

Но ни сработало.

Я боролся с этим несколько недель. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 03 мая 2020

Если у кого-то возникла такая же проблема, я нашел решение.

Все это было из веб-службы и его заголовков. Вам нужно только разрешить все заголовки, это все в документации.

Если у кого-то есть вопрос, он может поставить его здесь, и я постараюсь дать мой лучший ответ.

...