1

这只发生在 IE 中。Chrome 和 Firefox 运行良好。我正在使用 ASP.NET MVC 3 和 jQuery。

我有一个带有文件上传表单的 jQuery 对话框,所以我使用 ajaxSubmit 将表单提交到服务器。我没有使用任何客户端验证,但我在我的模型上使用服务器端验证。

我在 Visual Studio 中以调试模式运行代码,并在此控制器操作的 POST 处理程序上设置了一个断点。我打开对话框并以我知道无效的方式填写表格。当我单击保存时,我首先得到警报('save'),然后得到警报('beforeSubmit'),然后我的 ajaxSubmit 运行并命中“服务器”上的断点。验证失败并返回带有可见红色验证消息的新表单。在那里的某个地方我得到了警报('成功')和警报('完成')。一切都很好。然后我将表单上的数据修复为有效并再次单击“保存”。

这次我得到警报('保存'),就是这样。没有其他的。没有其他警报,没有断点,什么都没有。Fiddler 甚至没有注册 POST。同样,这只发生在 IE 中。Chrome 和 Firefox 运行良好。

请帮忙。

function save() {
    alert('save');
    $('#household-member-form').ajaxSubmit({
        url: '/Wizard/HouseholdMember',
        target: '#dialog-household-income',
        type: 'POST',
        cache: false,
        success: function () {
            alert('success');
        },
        error: function () {
            alert('error');
        },
        beforeSubmit: function () {
            alert('beforeSubmit');
        },
        complete: function () {
            alert('complete');
        },
        async: false
    });
}

编辑:我的控制器动作中也有这个:

HttpContext.Response.Cache.SetNoStore(); HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);

编辑2:另外,任何关于我如何重新措辞这个问题以获得更好的回应的反馈将不胜感激。

4

0 回答 0