Tengo una llamada ajax que pasa datos a una página que luego devuelve un valor.
He recuperado la llamada exitosa de la página pero la he codificado para que genere un error en el asp. ¿Cómo recupero ese error de jquery?
Por ejemplo:
cache: false,
url: "addInterview_Code.asp",
type: "POST",
datatype: "text",
data: strData,
success: function (html) {
alert('successful : ' + html);
$("#result").html("Successful");
},
error: function (error) {
**alert('error; ' + eval(error));**
}
Es el bit de error que no entiendo. En la función, ¿qué parámetro debo poner, para poder usar el mensaje de error que he generado en el servidor?
dataType
nodatatype
..error
y se.success
vuelven más importantes a medida que se eliminan.Respuestas:
Los parámetros requeridos en una
error
función Ajax sonjqXHR, exception
y puede usarlo como a continuación:FIDDLE DEMO
Parámetros
jqXHR:
En realidad es un objeto de error que se ve así
También puede ver esto en su propia consola del navegador, utilizando
console.log
dentro de laerror
función como:Estamos utilizando la
status
propiedad de este objeto para obtener el código de error, como si obtenemos status = 404, esto significa que no se pudo encontrar la página solicitada. No existe en absoluto. Según ese código de estado, podemos redirigir a los usuarios a la página de inicio de sesión o lo que sea que requiera nuestra lógica empresarial.excepción:
Esta es una variable de cadena que muestra el tipo de excepción. Entonces, si estamos obteniendo un error 404, el
exception
texto sería simplemente 'error'. Del mismo modo, podríamos obtener 'tiempo de espera', 'abortar' como otros textos de excepción.Entonces, en caso de que esté utilizando jQuery 1.8 o superior , necesitaremos actualizar la lógica de la función de éxito y error como: -
¡Espero eso ayude!
fuente
.error
y se.success
vuelven más importantes a medida que se eliminanPrueba esto:
Si desea informar a su interfaz sobre un error de validación, intente devolver json:
Su script asp debería volver:
fuente
Aquí es cómo sacar el error asp.
fuente
http://api.jquery.com/jQuery.ajax/
fuente
fuente
estás usando una función
pero jquery está buscando una función con tres parámetros:
necesitará agregar dos parámetros más.
TAMBIÉN: echa un vistazo a todos los comentarios anteriores que mencionan 'obsoleto' :)
fuente
function myMethod (err) { alert(err); }
y luego llámelo comomyMethod ("something is wrong", 500, some_object)
: Esto funcionará sin ningún problema. Según su declaración, esto solo funcionaría si la firma del método esfunction myMethod (err, status, some_object)
. Olvídate del ejemplo anterior, la firma delsuccess
evento que tienes en la respuesta es en realidad.success(data, status, xhr)
, pero si solo necesitas el resultado, generalmente lo vinculamos como.success (data)
y ambos funcionan.De jquery.com:
Si desea controladores globales, puede usar:
fuente