【问题标题】:Why am i getting error 415 when trying to retrieve database information wiht angular?为什么在尝试使用 Angular 检索数据库信息时出现错误 415?
【发布时间】:2021-03-01 16:54:02
【问题描述】:

我现在正在学习 Angular,我正在尝试将 POST 放入 asp.net 核心中的 API。 我去了初创公司并制作了cors,因为他们给我带来了问题。现在,我的问题是错误 415,我不知道为什么说不支持有效负载,这对我来说是 0 意义。 我的 API 函数是这样的:

 [HttpPost]
        public IActionResult register([FromBody] RegisterModel registro)
        {
            Cristais cristal = new Cristais { ID = "4", Cristal = "Zombie44" };
            _context.Cristais.Add(cristal);
            _context.SaveChanges();
            Utilizadores utilizador = new Utilizadores();
            utilizador.ID = Guid.NewGuid().ToString();
            utilizador.Comida = 100;
            utilizador.Gold = 1000;
            utilizador.ID_Cristal = "4";
            utilizador.Email = registro.email;
            utilizador.NickName = registro.nickName;
            utilizador.Password = registro.password;
            _context.Utilizadores.Add(utilizador);
            _context.SaveChanges();
            Console.WriteLine(_context.Utilizadores.Where(p=> p.ID_Cristal=="4"));
            return Ok(_context.Utilizadores.ToList());
        }

然后我在 Angular 中尝试了我的帖子:

registar() {
    console.log(this.utilizador);
    console.log(config.Urlsite);
    this.httpClient.post(config.Urlsite + "Utilizador/register",this.utilizador, {headers: new HttpHeaders({'Content-Type': 'json'})} ).subscribe((resultado)=>{
        console.log(resultado);
    }, (casoErro)=>{
        console.log(casoErro);
    })
  }

utilizador 是一个以 json 形式包含用户信息的变量,例如:

{ "nickName": "Ricardo", "password": "Zombie33", "email": "aasd@hotmail.com" }

另外,API 函数中的 registro 是一个有 3 个字符串的模型...

如果我在邮递员中尝试这个,一切都会顺利。我不明白为什么我不能用角度来做 感谢所有帮助,谢谢! :)

[编辑] 我只是试图放置 [EnableCors("StratGameWebSiteAngular")] 在 API 函数上,然后我得到了错误 500.. 我现在迷路了

【问题讨论】:

    标签: angular asp.net-core post http-status-code-415


    【解决方案1】:

    我的问题是错误 415,我不知道为什么说不支持有效负载

    在您的 Angular 客户端代码中,我们可以发现您设置了 {headers: new HttpHeaders({'Content-Type': 'json'})},这导致了问题。

    您可以将Content-Type 设置为application/json,如下所示。

    this.httpClient
      .post(
        config.Urlsite + "Utilizador/register",
        this.utilizador,
        { headers: new HttpHeaders({ "Content-Type": "application/json" }) }
      )
      .subscribe(
        resultado => {
          console.log(resultado);
        },
        casoErro => {
          console.log(casoErro);
        }
      );
    

    测试结果

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 2019-09-03
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 2017-06-20
      相关资源
      最近更新 更多