Javascript 描述性错误消息

Javascript 描述性错误消息,javascript,ajax,jquery,Javascript,Ajax,Jquery,我有以下jQuery,它没有给出最具描述性的错误消息 url: 'server_page.aspx', type: 'POST', data: { intID:$(this).attr("id"), strState:"1" }, error: function() { alert('Error'); }, success: function() { } 如果可能,如何获取更多描述性错误消息 编辑: 这是完整的javascript: $(文档).ready(函数(){ $(“输入:复选框”)

我有以下jQuery,它没有给出最具描述性的错误消息

url: 'server_page.aspx',
type: 'POST',
data: { intID:$(this).attr("id"), strState:"1" },
error: function() { alert('Error'); },
success: function() {  }
如果可能,如何获取更多描述性错误消息

编辑:

这是完整的javascript:

$(文档).ready(函数(){ $(“输入:复选框”).change(函数(){ var=这个

    if($(this).is(":checked")) { 
        $.ajax({
            url: 'favorite_on_off.aspx',
            type: 'POST',
            data: { strFavoriteID:$(that).attr("id"), strState:"1" },
            timeout: 1000,
            error: function(xhr, status, error)
            {
                alert("values: strFavoriteID: " + $(that).attr("id") + " strState: " + "1");
                alert('Error: ' + status + '\nError Text: ' + error);  
            },
            success: function() {  }
        });
    } else {
        $.ajax({
            url: 'favorite_on_off.aspx',
            type: 'POST',
            data: { strFavoriteID:$(that).attr("id"), strState:"0" },
            timeout: 1000,
            error: function(xhr, status, error)
            {
                alert("values: strFavoriteID: " + $(that).attr("id") + " strState: " + "0");
                alert('Error: ' + status + '\nError Text: ' + error);  
            },
            success: function() {  }
        });
    }
}); 
}))

以下是错误消息:

值:strFavoriteID:c:\folder\document.doc strState:1

错误:错误
错误文本:未定义

提供给
错误
回调的第二个参数是textStatus,它应该包含错误的描述:

error: function(xhr, textStatus) { alert(textStatus); }

请注意,您可能不应该向用户提供此信息。请使用Javascript解析消息,并向他们提供一条友好的消息来解释错误。

提供给
error
回调的第二个参数是textStatus,其中应包含错误说明:

error: function(xhr, textStatus) { alert(textStatus); }

请注意,您可能不应该向用户提供此信息。请使用Javascript解析消息,并向他们提供一条友好的消息来解释错误。

您可以使用传递给的所有参数,例如:

error: function(xhr, status, error) { 
  alert('Error: ' + status + '\nError Text: ' + error); 
},

您可以使用传递给的所有参数,例如:

error: function(xhr, status, error) { 
  alert('Error: ' + status + '\nError Text: ' + error); 
},
我有这个方法:

function HandleAjaxError(request, status, error) {
    var ex = eval("(" + request.responseText + ")");

 $('body').addClass("ui-widget-overlay");
    alert(ex.Message);
    $('body').removeClass("ui-widget-overlay");
}

$.ajax({
    type: "POST",
    url: window.location.pathname + "/DoStuff",
    data: "{}",
    success: Success,
    error: HandleAjaxError
});
这样,我可以在ASP.NET端优雅地处理错误消息(可能还有状态代码)。我通常会记录原始错误,然后为客户端抛出自定义/描述性错误。

我有以下方法:

function HandleAjaxError(request, status, error) {
    var ex = eval("(" + request.responseText + ")");

 $('body').addClass("ui-widget-overlay");
    alert(ex.Message);
    $('body').removeClass("ui-widget-overlay");
}

$.ajax({
    type: "POST",
    url: window.location.pathname + "/DoStuff",
    data: "{}",
    success: Success,
    error: HandleAjaxError
});


这样,我可以优雅地处理错误消息(可能还有状态代码)在ASP.NET端。我通常会记录原始错误,然后为客户端抛出自定义/描述性错误。

您在寻找哪些没有得到的内容?此外,由于您要发布到ASP.NET页面,因此,除非您在ASP.NET页面上禁用了对这些变量的需要,否则成功发布需要一些POST变量。I'我只是收到了一个错误,而不是数据库条目。我已更新了原始问题,以显示完整的脚本和错误消息。您在寻找哪些未收到的内容?此外,由于您正在发布到ASP.NET页面,因此,除非您禁用了对这些内容的需要,否则成功发布需要一些POST变量在ASP.NET页面上。我只是得到一个错误,而不是数据库条目。我已更新原始问题以显示完整的脚本和错误消息。使用
xhr
对象,您还可以访问服务器返回的实际响应。
xhr.responseText
可以提供.NET错误页面的文本,您的404页或500页。这可能是非常有用的信息。@lonesomeday,这只是在警报框中给我“error”。这不是您要使用的主要参数,因为实际的错误值只有null、“timeout”、“error”、“notmodified”和“parserror”…在许多情况下,最好也包括第三个参数,以获得更多细节。@oshirowanen-尝试
alert(xhr.responseText)
$('#debug').html(xhr.responseText)
,文档中有一个
。我已经更新了原始问题,以显示完整的脚本和错误消息。使用
xhr
对象,您还可以访问服务器返回的实际响应。
xhr.responseText
可以为您提供.NET错误页、404页或500页.T的文本他的信息可能非常有用。@lonesomeday,这只是在警报框中给我“error”。这不是您要使用的主要参数,因为实际的错误值只有null、“timeout”、“error”、“notmodified”和“parserror”…在许多情况下,最好也包括第三个参数,以获得更多细节。@oshirowanen-尝试
alert(xhr.responseText)
$('#debug').html(xhr.responseText)
,文档中有一个
。我已经更新了原始问题,以显示完整的脚本和错误消息。这给了我一条警告消息,如下“错误:错误文本:未定义”。@oshirowanen-您从
警报中得到了什么('error:'+status+'\error Text:'+error+'\nResponse Text:'+xhr.responseText)
?此外,这不是唯一的调试方法,使用您的控制台、Firebug或Chrome的网络面板都是查看发生了什么的好工具。谢谢,这给了我足够的信息来查看问题所在。这给了我一条警告消息,如下“错误:错误文本:未定义”。@oshirowanen-您从
警报中得到了什么('Error:'+status+'\n错误文本:'+Error+'\n回复文本:'+xhr.responseText);
?此外,这不是唯一的调试方法,使用控制台、Firebug或Chrome的网络面板都是查看问题所在的好工具。谢谢,这给了我足够的信息来查看问题所在。