2012-09-04 31 views
1

现在已经使用Jquery约6个月了。寻找它的很多用途,特别是JQuery的Ajax工具。通过Jquery Ajax工具返回“不友好”的经典ASP错误消息

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

就我而言,我得到一个通用的“内部服务器错误”消息。其他任何经典ASP恐龙都知道我在说什么?

在此先感谢您的任何见解。

回答

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" 
     }); 
+0

太棒了!非常感谢。我已经是一个十多年的Web开发人员,但这是我第一次使用stackoverflow。不得不说,它的功能和效果都是如此。再次感谢。 –

+0

没问题的朋友..如果这对你有效,请将答案标记为已接受,以便其他人可以看到它。 – Mortalus