Cuando se usa $ .ajax en jQuery, ¿cómo puedo lanzar deliberadamente un error en el documento cargado?
-
19-09-2019 - |
Pregunta
En mi documento Tengo este script:
$.ajax({ type:"POST",url:"ajax.php",data:data,
success: function() {
//onsuccess
},
error: function() {
//onerror
}
});
¿Cómo puedo, en el documento ajax.php
, lanzar deliberadamente un error? ¿Es suficiente sólo tirar un código de estado HTTP 400 o algo así? (Y si es así, es 400 el más adecuado?)
¿Por qué estoy pidiendo es que quiero utilizar esto para enviar un formulario al servidor, y si un campo está vacío cabo correctamente Quiero alertar al usuario a través del parámetro de error en $.ajax
. Sé que podría hacer esto usando javascript en el primer lugar, pero estoy esperando que podía hacerlo de esta manera (por lo que no tengo que escribir la verificación dos veces). Pero, por supuesto, por hacerlo de esta manera, no puedo separar los diferentes campos de la otra.
Sobre la base de lo que yo quiero usarlo para, ¿hay algún modo lanzar un "error personalizado" , por lo que si el name
campo no se ha completado correctamente, devuelve el nombre del campo (es decir name
). ¿Es suficiente para hacer algo como esto:
En ajax.php:
if (isFilledOutProperly($name) == false) {
echo "name";
}
else {
echo "success";
}
Y:
success: function(data) {
if (data == 'name') {
//error
}
else {
//success
}
},
Puede que sea por el camino equivocado aquí, pero si alguien tiene una idea mejor sobre cómo puedo hacer esto, por favor dígame. Gracias!
Solución
La cláusula error
de llamadas $.ajax()
no es realmente para la circunstancia que usted se refiere. error
cubre los casos de, por ejemplo, errores HTTP. errores de validación no son realmente errores en este caso. Es mejor que indica los de la devolución de llamada success
con los datos apropiados devueltos por el servidor.
error(XMLHttpRequest, textStatus, errorThrown)Function
Una función que se llamará si la solicitud fracasa. La función se pasa tres argumentos: El objeto XMLHttpRequest, una cadena que describe el tipo de error que se produjo y un opcional objeto de excepción, si se ha producido uno. Los valores posibles para la segunda argumento (además nula) son "tiempo de espera", "Error", "notmodified" y "Parsererror". Se trata de una Ajax evento.
Nota:. las condiciones de error de los que habla son errores de análisis, los tiempos de espera, errores (HTTP) y no modificados (que es otra respuesta HTTP)
Técnicamente su solicitud se realiza correctamente, pero falla la validación, que no es un error en sí misma.