Cuando se usa $ .ajax en jQuery, ¿cómo puedo lanzar deliberadamente un error en el documento cargado?

StackOverflow https://stackoverflow.com/questions/2212964

  •  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!

¿Fue útil?

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.

Si nos fijamos en la :

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top