Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

307
Visualizações
Angular 2/Web Api - json parsing error syntax error unexpected end of input

I have a Web API controller that looks like this:

    [HttpPost]
    public IHttpActionResult Test()
    {
        return Ok();
    }

This is correct syntax, However when I try to call this from a service in Angular 2, I get the error message: "json parsing error syntax error unexpected end of input." To resolve this issue, I have to put a value into the ActionResult such as

return Ok(1)

Am I missing some configuration? My Angular 2 service call looks like this:

return this.http.post(API/Controller/Test).map(res => res.json());
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Another way:

All my http.get, post or put call (for uniformity):

.map(this.extractData)

In extractData (UPDATED: thanks to raykrow feedback, short code):

private extractData(res: Response) {        
    return res.text() ? res.json() : {}; ;
}
over 4 years ago · Santiago Trujillo Relatório

0

I guess that when you receive an empty response (without payload) you don't need to call the json method. Under the hood, the XHR response is undefined, JSON.parse(undefined) is called and an error is thrown.

You could skip the call of the map operator:

return this.http.post(API/Controller/Test)/*.map(res => res.json())*/;
over 4 years ago · Santiago Trujillo Relatório

0

Strictly speaking if your API is returning an OK code with no content you should return 204 (no content) - Angular would also be happy with this and not try to parse anything. So your controller method would become:

[HttpPost]
public IHttpActionResult Test()
{
    return NoContent();
}
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda