1

已经熟悉 Jquery 大约 6 个月了。为它找到了很多用途,尤其是 Jquery 的 Ajax 工具。

当我使用 .ajax() 方法向服务器端脚本发送信息时,无论出于何种原因,请求都失败了,.ajaxerror() 和 .fail 处理程序都会可靠地返回错误消息,但这两种方法似乎都需要隐藏我以前熟悉的、不友好但特定的 ASP 生成的错误消息。

取而代之的是,我收到了一条通用的“内部服务器错误”消息。任何其他经典的 ASP 恐龙知道我在说什么吗?

提前感谢您的任何见解。

4

1 回答 1

1

使用 $.ajax 错误回调函数中提供的 xhr.ResponseText。这里是一个例子。

笔记!xhr.response 文本返回代表错误页面的所有丑陋的 html 字符串。如果您想更具体,还有另一种选择。

在您的服务器端应用程序中使用 try 和 catch 子句。发现错误后,将其作为文本发送到 response.write,然后使用 response.end(); 这不是最好的方法,但它会起作用。

您的另一个选择是使用 json 来构造您捕获的错误消息和 response.write,这样 XHR 对象将以结构化的 oop 方式保存信息。

$.ajax({
            type: "POST",
            url: "/Administration/Create",
            data: {
                EntityParentID: data.rslt.parent.attr("id"),
                EntityName: data.rslt.name
            },
            success: function (response)
            {
                var node = data.rslt.obj;
                node.attr("id", response.EntityID);
            },
            error: function (xhr, ajaxOptions, thrownError)
            {
                alert("Error Occured During Creation of Entity.");
                alert(xhr.responseText); //This will alert an ugly html string...
                $.jstree.rollback(data.rlbk);
            },
            dataType: "json"
        });
于 2012-09-04T02:29:38.823 回答