我每页有一个表单,并且我已经多次成功测试了这段代码,但由于某种原因,我现在不断收到此错误:
undefined不是函数
这会将我的表单值从我的MVC视图发布到Controller,如果有错误处理
$("form").submit(function () {
$.post($(this).attr("action"), $(this).serialize(), function (data) {
if (!data.IsOK) {
$("#modalTitle").html(data.Title);
$("#modalMessage").html(data.Message);
$("#modalDetail").html(data.Error).hide(); // error occurs here
$("#modalDialog").css("display", "block");
$("#modalBackground").css("display", "block");
}
else {
window.location.href = '@Url.Content("~/")';
}
return;
});
return false;
});
这个想法是生成一个模态对话框,告诉用户“出错了”并提供可用于跟踪问题的信息。但是,在许多情况下,用户不会看到#modalDetail
div,因为它将包含只有sysadmin用户应该看到的堆栈跟踪(data.Error)。
我觉得如果data.Error是空白的话会发生这个错误,但在我看来,这个div的html只会被设置为空字符串值或等价物。
答案 0 :(得分:0)
如果data.Error = undefined
为避免这种情况,请执行此操作
$("#modalDetail").html(data.Error === undefined ? "" : data.Error).hide();
这只是检查Error
是否未定义,如果是,则添加空字符串。