Quiero verificar en el lado del cliente (jQuery) si los datos de retorno de una función PHP son un objeto Json o una cadena para asignar diferentes funciones.¿Cómo saber si los datos de retorno son Json o String en jQuery y PHP?
Respuesta
jQuery's parseJson generará una excepción si el json no está en el formato correcto. Puede envolver su llamada en un bloque try catch. (Pero recuerde que el tener excepciones en el flujo de su código normal es una mala práctica)
data = '{}';
try {
json = $.parseJSON(data);
} catch (e) {
// not json
}
También puede utilizar el método nativo JSON.parse()
que arroja un SyntaxError
excepción
Si usted está esperando mala JSON como parte de su normalidad flujo de trabajo del programa, entonces usted puede verificarlo con expresiones regulares primero, Mic's answer is pretty solid Pero en su caso, PHP siempre debe generar JSON válida en condiciones normales. Si no es válido, probablemente haya un error en su software
datos de retorno es siempre una cadena (es decir, una secuencia de caracteres). Pero, si le dice a jQuery que espera una respuesta json, intentará convertir la cadena en un objeto javascript por usted.
No hay un protocolo de red dedicado para transferir objetos JavaScript a través de Internet.
try {
jQuery.parseJSON(json)
//must be valid JSON
} catch(e) {
//must not be valid JSON
}
- 1. ¿Cómo puedo saber si los datos devueltos de un $ .ajax() exitoso son de html o json?
- 2. cómo saber si $ string termina con ','?
- 3. ¿Cómo comprobar si los datos JSON son un objeto o una matriz de objetos?
- 4. jquery ajax - JSON retorno o HTML plano mejor
- 5. jQuery, JSON, PHP y gMap
- 6. accediendo a los datos json de jquery
- 7. Valores de retorno String o StringBuilder?
- 8. jQuery usa (nueva función ("retorno" + datos))(); en lugar de eval (datos); para analizar JSON, ¿por qué?
- 9. Serializar o json en PHP?
- 10. cómo saber si existe clave en la cadena JSON
- 11. ¿Cómo encontrar si String contiene datos html?
- 12. cómo saber si PHP y sendmail están trabajando juntos?
- 13. extracción de datos de objeto JSON en jQuery o JS
- 14. Django: cómo saber en el método de limpieza si los datos del formulario son nuevos o si se están cambiando datos antiguos
- 15. SSRS - Comprobando si los datos son nulos
- 16. cómo saber si XMLHttpRequest.send() funcionó
- 17. ¿Las cadenas literales y los valores de retorno de función son lvalues o rvalues?
- 18. Detecta datos json malos en PHP json_decode()?
- 19. cómo saber si el correo php falló
- 20. ¿CÓMO OBTENER datos remotos de API JSON o XML desde PHP y asignar un objeto de retorno como variable de PHP?
- 21. Enviar datos JSON a PHP utilizando XMLHttpRequest sin jQuery
- 22. PHP devolviendo JSON a JQUERY AJAX LLAME
- 23. jQuery - ¿Cómo saber si la ventana está cambiando de tamaño en ancho/alto o en ambas?
- 24. ¿Cómo determinar si hay una coincidencia y un retorno verdadero o falso en los rieles?
- 25. ¿Cómo puedo saber si dos variables son aproximadamente iguales?
- 26. ¿Cómo puedo saber si hay una página de php si alguien llegó por POST o GET?
- 27. Java: si de retorno si retorno vs si-retorno-elseif-retorno
- 28. Enviar datos JSON a través de JQuery ajax.post a PHP
- 29. Comparación y conversión enteras de String PHP String
- 30. Datos JSON de iOS en PHP-script
Gracias por su respuesta rápida, pero estoy un poco confundido con la mala práctica. ¿Quieres decir que no debería intentar resolver mi problema con la excepción de parseJSON? – Devyn
No, disparar excepciones en la ejecución normal es una mala práctica. Las excepciones solo deben activarse cuando algo está mal (cuando no se espera algún resultado) –
¿Sigue funcionando? – Fil