jquery – 如何处理错误在$.get()

前端之家收集整理的这篇文章主要介绍了jquery – 如何处理错误在$.get()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个jquery代码,其中我使用get()和调用一些远程url /文件.
现在我想知道最好的方法来处理这个错误.

我在做什么是:

$(document).ready(function() {
        $.ajaxSetup({
            error: function(x,e) {

                if (x.status == 0) {
                    alert(' Check Your Network.');
                } 
                   else if (x.status == 404) {
                alert('Requested URL not found.');

                } else if (x.status == 500) {
                    alert('Internel Server Error.');
                }  else {
                    alert('Unknow Error.\n' + x.responseText);
                }
            }
        });

        $.get("HTMLPage.htm",function(data) {
            alert(data);
            $('#mydiv').html(data);

        });
    });

这是很好的工作.但想知道有没有更好的方式这样做?

编号:http://www.maheshchari.com/jquery-ajax-error-handling/

解决方法

使用$.ajaxSetup是所有ajax调用的全局.因为$.get函数没有任何错误回调,在$.ajaxSetup中定义错误处理程序是处理错误的唯一方法.如果你使用$.ajax,可以这样定义$.ajax调用中的错误处理程序
$.ajax({
  url: "HTMLPage.htm",success: function(data) {
    alert(data);
    $('#mydiv').html(data);        
  },error: function(XMLHttpRequest,textStatus,errorThrown) { 
    if (XMLHttpRequest.status == 0) {
      alert(' Check Your Network.');
    } else if (XMLHttpRequest.status == 404) {
      alert('Requested URL not found.');
    } else if (XMLHttpRequest.status == 500) {
      alert('Internel Server Error.');
    }  else {
       alert('Unknow Error.\n' + XMLHttpRequest.responseText);
    }     
  }
});

这只是特定于这个ajax调用,这样你可以有更具体的错误消息.但是使用全局错误处理程序也是一样.

您可以在$(document).ready()之外定义您的函数

$(document).ready(function() {
    $.ajaxSetup({
        error: AjaxError
    });

    $.get("HTMLPage.htm",GetSuccess);
});

function AjaxError(x,e) {
  if (x.status == 0) {
    alert(' Check Your Network.');
  } else if (x.status == 404) {
    alert('Requested URL not found.');
  } else if (x.status == 500) {
    alert('Internel Server Error.');
  }  else {
     alert('Unknow Error.\n' + x.responseText);
  }
}

function GetSuccess(data) {
  alert(data);
  $('#mydiv').html(data);
}

猜你在找的jQuery相关文章