Ионный: мой http.post в WebApi RestFull не работает
Я разрабатываю приложение с помощью Ionic Framework и меняю часть информации с помощью API веб-службы RestFull. Когда я подключаюсь с помощью метода GET, он работает, но когда я пытаюсь подключиться с помощью метода POST, он не работает.
Это код Ionic:
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;
}
Если я пытаюсь войти из Ionic, это не работает, но с 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 ответ
Если у кого-то такая же проблема, я нашел решение.
Все это было из веб-службы и его заголовков. Вам нужно только разрешить все заголовки, это все в документации.
Если у кого-то есть вопрос, он может задать его здесь, и я постараюсь дать свой лучший ответ.