• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

142
Views
Error de Ajax al recibir una llamada en lugar de éxito
<script> function editComment(id) { var content = $('#Content').val(); var modelData = { 'Id': id, 'Content': content }; $.ajax({ type: 'POST', dataType: 'json', url: '@Url.Action("EditC", "Comment")', data: JSON.stringify({ model: modelData }), contentType: 'application/json', success: function () { alert("YES"); }, error: function () { alert("Error"); } }); } </script>

Aquí el servidor devuelve 200 OK, pero por alguna razón se llama a la función de error. Tanto el type como el tipo de contentType parecen ser correctos. ¿Algúna idea de cómo arreglar esto?

Editar: después de agregar

 error: function (xhr, textStatus, error) { console.log(xhr.responseText); console.log(xhr.statusText); console.log(textStatus); console.log(error); }

esto es lo que se registra:

 parsererror parsererror SyntaxError: Unexpected end of JSON input at parse (<anonymous>) at ajaxConvert (jquery-3.4.1.js:9013:19) at done (jquery-3.4.1.js:9483:15) at XMLHttpRequest.<anonymous> (jquery-3.4.1.js:9785:9)
almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Pasando a una respuesta para futuros lectores...

De hecho, el servidor está devolviendo una respuesta exitosa, pero una respuesta exitosa vacía :

 return new HttpStatusCodeResult(200);

Sin embargo, el código del lado del cliente espera un JSON válido:

 dataType: 'json',

Como resultado, después de recibir la respuesta correcta, internamente el código jQuery intenta analizar esa respuesta como JSON y eso falla, lo que genera la devolución de llamada de error .

Dado que no hay un cuerpo de respuesta (y en la mayoría de los casos, incluso cuando lo hay, siempre que el servidor devuelva el tipo MIME correcto), no necesita ni desea especificar un tipo de dataType en la operación jQuery AJAX. Simplemente elimine esta parte:

 dataType: 'json',
almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error