Estoy intentando realizar algunas operaciones básicas con jQuery y JSON. Actualmente tengo dificultades con jQuery al aceptar la respuesta JSON de mi aplicación de framework de juegos. A continuación se muestra una versión simplificada del código que aún produce el error.jQuery La respuesta JSON siempre desencadena un ParseError
$.ajax({
type: 'POST',
url: "@{FrontEnd.isUsernameAvailable()}",
data: "name=thisnameisavailable",
cache: false,
success: function(data) {
console.log("Success... ");
},
error: function(jqXHR, textStatus, errorThrown) {
console.log("Error... " + textStatus + " " + errorThrown);
},
dataType: 'json'
});
La devolución de llamada de error siempre se activa. Se muestra
error ... parsererror jQuery15001997238997904205_1298484897373 no fue llamado
Inspección de la JSON devuelto a través de Firebug no muestra los errores y las diversas herramientas de pelusa JSON también validar. Cambiar el tipo de datos a "texto" hace que se llame al éxito. Pero estoy tratando de usar la llamada isUsernameAvailable como parte del complemento de validación jQuery, así que necesito que devuelva JSON válido.
¿Estás seguro de que la respuesta es del tipo application/json (creo que la respuesta es sí;)) y tu json es como {"field": "value", ...} ... la comilla doble a veces importante si sus valores son de tipo cadena y no booleanos o int ... y no huérfanos "," ... De todos modos, parece que tiene una solución alternativa. – mandubian
En su pregunta mi respuesta ...Mi php estaba devolviendo el uso del eco de texto simple por lo que cambiar mi dataType a 'texto' hizo el trabajo. Gracias :) – Pitto