如何在 ajax 调用中将错误消息传递给 mvc 视图
How to pass error message to mvc view in ajax call
我正在使用ajax在mvc按钮单击事件上调用控制器操作方法。控制器操作方法具有验证逻辑,如果失败,应通知用户错误。我不确定如何在 MVC 中实现这一目标。有没有办法从控制器向 ajax 成功事件发送错误消息?
Controller Action Method
[AcceptVerbs(HttpVerbs.Post)]
public ViewResult Index(ProfileSnapshotRequestModel pspm)
{
// Do something
return Json(new { success = true });
}
MVC 视图按钮单击
$("#copyData").click(function() {
var selectedRowId = $('#ServersWS').jqGrid('getGridParam', 'selrow');
var rowData = jQuery("#ServersWS").jqGrid('getRowData', selectedRowId);
$("#MainDiv").prop('disabled', true);
var url = '@Url.Action("Index")';
HideElements();
$.ajax({
url: url,
data: {
BaseEnvtId: $("#SelectedEnvironmentID").val(),
BaseVersionId: $("#SelectedVersionID").val(),
BaseProfileId: rowData['ProfileId'],
NewEnvtId: $("#SelectedEnvironmentID2").val(),
NewVersionId: $("#SelectedVersionID2").val(),
NewProfileId: $("#SelectedProfileID2").val(),
},
type: 'POST',
datatype: 'json',
success: function(data) {
document.getElementById('displaySuccess').style.display = 'block';
$("#ProfileCopyDiv").prop('disabled', true);
$("#MainDiv").prop('disabled', false);
},
error: function() { alert('something bad happened'); }
});
});
我能够通过将控制器操作返回类型更改为操作结果来解决它,然后使用 Json 对象返回我想要的数据 - 例如
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(ProfileSnapshotRequestModel pspm)
{
// Do something
return Json(new { success = true });
}
相关文章:
- 为什么我得到Chrome本机消息“;找不到指定的本机消息传递主机&”;
- 消息传递系统 jquery 发送jQuery514109241_1210239812938当我在消息中放入:))时
- 为什么此EventSource重复触发消息和错误
- 有没有一种简单的转换方法可以将chrome消息传递转换为safari消息传递语法
- 云代码(javascript)失败,原因是:{代码:1,消息:内部错误
- 消息传递接收端
- 基本的谷歌chrome扩展消息传递不起作用
- Chrome 扩展消息传递体系结构
- 如何发送控制台消息和错误以提醒
- 为什么我无法将此消息传递到选项卡中运行的所有帧
- Chrome扩展消息传递:未发送响应
- 为什么在定义回调/侦听器函数(异步消息传递,port.on)后没有立即设置全局变量
- Chrome 消息传递.未捕获错误:连接到扩展时出错
- 在 MQTT 客户端中“未捕获的引用错误:未定义消息传递”
- 跨域消息传递的语法错误
- 将异常消息传递到错误页面 ASP.NET 而不使用会话的最佳做法
- Firefox Addon SDK消息传递错误
- 从服务传递错误消息到控制器$scope
- 如何只传递错误消息
- 在Express/Node.js中通过重定向传递错误消息给模板