问题描述:$.ajax()去操作后台(Strtus2层)的 action, 有可能返回不同形式的结果。当是一段JSON格式的数据时,可以用JS对映的函数处理它们。但也有可能是一段HTML代码片段比如是一段exception page代码,这也需要显示出来。考虑到在实际应用中,还有可能是$ajax()出现错误的情况。此时我们就要在前台针对这三种分别处理。
问题解决:
1)绑定ajaxError事件, 当出现任何ajaxError事件时,将在特定桢上显示出公共的出错信息。
2)绑定axComplete事件,当在ajax :succss中得到数据时,判断它是什么类型的数据,如果是JSON格式则转到相应的JS 函数去处理;如果是exception HTML片段,则保存到此数据,并转到ajaxComplete事件中,去在特定桢上显示出它们作为出错信息。
$('#centre-block').ajaxComplete(function(e,xhr,settings)
{
if (retData!=undefined && !bSuccess )
{
$('#centre-block').html(retData);
}
}
);
$('#centerFrame').ajaxError(function(e,xhr,o){
$(this).attr('src','/system/allexception.jsp');
});