Ionic:我对WebApi RestFull的 http.post 不起作用



我正在开发一个使用Ionic Framework的应用程序,并正在使用我的web服务API RestFull更改一些信息。当我使用GET方法连接时,它是有效的,但当我尝试使用POST方法连接时它不起作用。

这是爱奥尼亚的代码:

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();

在Web服务中,代码是(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"(]ULL

我试图用$.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"

但两者都不起作用。

我已经为此奋斗了好几个星期了。如有任何帮助,我们将不胜感激。

如果有人遇到同样的问题,我会找到解决方案。

这一切都来自Web服务和他的标题。你只需要允许所有的标题,这都在文档中。

如果有人有问题,他们可以把它放在这里,我会尽力给出最好的答案。

最新更新