自定义响应消息ajax beginform asp.net mvc 4

时间:2013-12-26 18:42:56

标签: jquery ajax asp.net-mvc

我在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");

然后我得到一个错误,说没有找到方法。

非常感谢任何帮助。

2 个答案:

答案 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
        });
    }