我在asp.net mvc 4中使用ajax.beginform。在我的控制器中我有一个try catch块
catch (Exception ex)
{
throw new HttpException(500, ex.Message);
}
在我的onFailure活动中我有
function failure(data) {
$(".progress").hide();
$.msgGrowl({
type: 'error',
title: 'error',
text: data.statusText
});
}
data.statusText的结果是“内部服务器错误”。在data.responseText中,我看到页面的标题标签包含我想要获取的消息。根据本网站上的其他一些建议,我已经改为
var html = data.responseText;
var error = html.find("title");
然后我得到一个错误,说没有找到方法。
非常感谢任何帮助。
答案 0 :(得分:0)
data.responseText
中的html只是一个字符串。您需要将其设为jQuery对象才能使用find()
尝试:
var html = $(data.responseText);
答案 1 :(得分:0)
您的回复很有帮助,但我没有足够的分数将其标记为有用。我确信这不是最好的方法,但它让我得到了我需要的东西。
function failure(data) {
$(".progress").hide();
var html = $(data.responseText);
var title = $(html)[1];
var error = $(title).text();
$.msgGrowl({
type: 'error',
title: 'error',
text: error
});
}