如何在jQuery中正确尝试和捕获

时间:2016-01-26 02:27:45

标签: javascript jquery web-services error-handling try-catch

我有以下功能,可以从Web服务获取响应。响应应显示在网站的一个部分。 这很好,但问题是,如果出现错误,我会尝试获取错误消息并以与成功响应相同的方式显示,但我无法获得这一点。

$(document).ready(function(){
$('.button').click(function(){
    try {
        var $resp = $.get("service url here", function(resp){
        $('.response').append(resp.response.greeting + ", " + resp.response.Welcome);
        });
    }
    catch (err){
        $('.response').append(err.name + ", "+ err.message);
    }

    });
});

1 个答案:

答案 0 :(得分:0)

尝试使用.always()

$(document).ready(function(){
  $(".button").click(function() {
    $.get("service url here")
    .always(function(resp, textStatus, jqxhr) {
        $(".response")
        .append(textStatus === "success" 
          ? resp.response.greeting + ", " + resp.response.Welcome
          : textStatus + ", "+ jqxhr
        );    
    });
});