已经熟悉 Jquery 大约 6 个月了。为它找到了很多用途,尤其是 Jquery 的 Ajax 工具。
当我使用 .ajax() 方法向服务器端脚本发送信息时,无论出于何种原因,请求都失败了,.ajaxerror() 和 .fail 处理程序都会可靠地返回错误消息,但这两种方法似乎都需要隐藏我以前熟悉的、不友好但特定的 ASP 生成的错误消息。
取而代之的是,我收到了一条通用的“内部服务器错误”消息。任何其他经典的 ASP 恐龙知道我在说什么吗?
提前感谢您的任何见解。
已经熟悉 Jquery 大约 6 个月了。为它找到了很多用途,尤其是 Jquery 的 Ajax 工具。
当我使用 .ajax() 方法向服务器端脚本发送信息时,无论出于何种原因,请求都失败了,.ajaxerror() 和 .fail 处理程序都会可靠地返回错误消息,但这两种方法似乎都需要隐藏我以前熟悉的、不友好但特定的 ASP 生成的错误消息。
取而代之的是,我收到了一条通用的“内部服务器错误”消息。任何其他经典的 ASP 恐龙知道我在说什么吗?
提前感谢您的任何见解。
使用 $.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"
});