Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

311
Views
Angular 2/Web Api - error de sintaxis de error de análisis json final inesperado de entrada

Tengo un controlador API web que se parece a esto:

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

Esta es la sintaxis correcta. Sin embargo, cuando intento llamar a esto desde un servicio en Angular 2, aparece el mensaje de error: "Error de sintaxis de error de análisis json, final inesperado de la entrada". Para resolver este problema, tengo que poner un valor en ActionResult como

 return Ok(1)

¿Me estoy perdiendo alguna configuración? Mi llamada de servicio de Angular 2 se ve así:

 return this.http.post(API/Controller/Test).map(res => res.json());
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

De otra manera:

Todos mis http.get, post o put call (por uniformidad):

 .map(this.extractData)

En extractData (ACTUALIZADO: gracias a los comentarios de Raykrow, código corto):

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

0

Supongo que cuando recibe una respuesta vacía (sin carga útil) no necesita llamar al método json . Debajo del capó, la respuesta XHR no está definida, se JSON.parse(undefined) y se genera un error.

Puede omitir la llamada del operador del map :

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

0

Estrictamente hablando, si su API devuelve un código OK sin contenido, debe devolver 204 (sin contenido). Angular también estaría contento con esto y no intentaría analizar nada. Entonces su método de controlador se convertiría en:

 [HttpPost] public IHttpActionResult Test() { return NoContent(); }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!