//alert() shows values in a popup window alert("js is working");Alerta se puede usar para ver si su código realmente se ejecuta porque si hay errores de sintaxis críticos en su JavaScript, no se ejecutará en absoluto. También se puede usar para ver si se alcanza un determinado bloque o segmento de código.
//console.log() shows values in the firebug console window var x = ... etc console.log(x);Console.log () puede ser muy útil para mostrar valores ejecutados en bucles y para capturar eventos. Más sobre esto más adelante en la publicación. La gama completa de opciones para el registro se puede ver en la página Wiki de la API de la consola Firebug . IMPORTANTE: Asegúrese de encerrar sus comandos Firebug de lo contrario, su código jQuery solo funcionará cuando la consola esté abierta.
//try catch example 1 try { $("#user").focus(); } catch(err){ return false; } //try catch example 2 try { var tmp = doSomething(); if (tmp == something.errorCondition) throw new Error("Error condition in X"); } catch(err) { //handle ((err && err.message) || err.toString()) } //try catch example 3 try { // code that may cause an error } catch (e) { // deal with error (or not) } // code that runs whether or not error occurred
jQuery.error = console.error;
$("#createContact").click(function () { //Attach a click event handler to the button var form = $("form"); //Grab the form element from the DOM $.ajax({ type: "POST", //The type of HTTP verb (post, get, etc) url: form.attr( "action" ), //The URL from the form element where the AJAX request will be sent data: form.serialize(), //All the data from the form serialized dataType: "json", //The type of response to expect from the server success: function ( data, statusCode, xhr ) { //Triggered after a successful response from server if ( data && data.Message ) { alert( data.Message ); } }, error: function ( xhr, errorType, exception ) { //Triggered if an error communicating with server var errorMessage = exception || xhr.statusText; //If exception null, then default to xhr.statusText alert( "There was an error creating your contact: " errorMessage ); } }); return false; //Ignore the default behavior of the button click }); [code lang="php"]Comprobación en Firebug El campo StatusText que puede usarse para determinar el tipo de error jQuery.
function ajaxError(request, type, errorThrown) { var message = "There was an error with the AJAX request.n"; switch (type) { case 'timeout': message = "The request timed out."; break; case 'notmodified': message = "The request was not modified but was not retrieved from the cache."; break; case 'parseerror': message = "XML/Json format is bad."; break; default: message = "HTTP Error (" request.status " " request.statusText ")."; } message = "n"; alert(message); }Lectura adicional:
el método .Error () en jQuery es una herramienta poderosa para manejar errores. Vincula un controlador de eventos al evento JavaScript "Error". Este método puede ser particularmente útil cuando se trata de errores de carga de imágenes. Sin embargo, es importante tener en cuenta que este método se ha eliminado en JQuery 3.0 y solo está disponible en versiones anteriores. Para versiones más nuevas, puede usar el método .on () para vincular un evento de error.
El método .AJAXERROR () es un controlador de eventos que se llama cuando una solicitud de AJAX completa con un error. Se puede adjuntar a cualquier elemento, pero generalmente está adjunto al documento. Este método puede ser muy útil en el manejo de errores globales. Puede usarlo para mostrar un mensaje cuando una solicitud AJAX falla, por ejemplo.
La instrucción Try-Catch es una característica de JavaScript que también se puede usar en jQuery para el manejo de errores. Puede usarlo para "probar" un bloque de código y "atrapar" cualquier error que ocurra. Esto puede ser particularmente útil cuando se trata de un código impredecible que puede arrojar excepciones. Aquí hay un ejemplo básico:
try {
// code para pruebe
} capt (error) {
// code ejecutar si ocurre un error
}
$. Ajax ({
statuscode: {
404: functer () {
alert ('página no encontrado');
} [&]}
}); [&]
.fail () método para el manejo de errores en jQuery?
// ajax opciones
}). Fail (function () {
// código para ejecutar si la solicitud falla
});
¿cuál es la diferencia entre ?erRor () y .fail () en JQuery? .Error () El método es un controlador de eventos que se llama cuando ocurre un error, mientras que el método .fail () es una función de devolución de llamada que se llama cuando se rechaza un objeto diferido. El método .Error () se usa típicamente para manejar errores de carga de imágenes, mientras que el método .fail () se usa a menudo para manejar los errores de Ajax.
¿Cómo puedo usar los métodos ?Done () y .always () en la administración de errores de jQuery?
Los errores de análisis en jQuery típicamente ocurren cuando está tratando de analizar los datos de JSON inválidos. Puede manejar estos errores utilizando la instrucción Try-Catch. Aquí hay un ejemplo básico:
var data = $ .ParseJson (respuesta);
} capt (error) { ¿puedo manejar los errores de tiempo? Manejado utilizando la opción Tiempo de espera en el método .AJAX (). Esta opción establece un tiempo de espera (en milisegundos) para la solicitud. Si la solicitud lleva más tiempo que este tiempo, se aborta y se llama al método .fail (). Aquí hay un ejemplo básico:
$. Ajax ({
timeOut: 5000, // 5 segundos
// otras opciones de Ajax
}). Fail (function () {
// código para ejecutar si se produce un tiempo de espera
El manejo de errores en los complementos jQuery puede ser un poco complicado porque depende del complemento específico. Sin embargo, un enfoque general es usar la instrucción Try-Catch para captar cualquier error que ocurra en el código del complemento. También puede usar los métodos .Error () o .fail () si el complemento usa AJAX o objetos diferidos.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3