我有这个:
我通过jQuery发布表单,在控制器中,我使用的函数中出现了错误,我将状态代码设置为500.我想在$ .post的“.error”中显示我的内容视图。如你所见,我测试了几个警报,但我从未看到视图的内容
HTML
@using (Html.BeginForm("Save","Customer"))
{
}
var jqxhr = $.post("Customer/Save", function () {
alert("success");
})
.success(function () {})
.error( function (jqXHR, status, error) {
alert(jqXHR);
alert(status),
alert(error);
})
.complete(function () {});
* 控制器*
public ActionResult Save(MyModel model)
{
//Action1 here
//....
if(Actiion1 failed)
{
Response.StatusCode = 500
return PartialView("Error");
}
return View("MyView");
}
谢谢,
答案 0 :(得分:2)
您想要查看responseText
的{{1}}成员。
答案 1 :(得分:0)
did you check if your async post request is coming into controller? If yes then instead of sending the partial view back, try to send some dummy string and check.
希望这有帮助。
阿比
答案 2 :(得分:0)
$(function () {
$.ajaxSetup({
error: function (request, err) {
// if (x.status == 0) {
// alert('you are offline!!\n Check you network.');
// } else
if (request.status == 404) {
alert('page not found');
} else if (request.status == 500) {
$('body').html(request.responseText);
} else if (err == 'parsererror') {
alert('parse error');
} else if (err == 'timeout') {
alert('timeout');
} else {
alert('unhandled exception.\n' + x.responseText);
}
}
});
});
你可以看到我在error.status为500时将body html属性设置为结果文本。它会将错误页面内容设置为body