我在标题中指定IE,因为我的代码在Chrome上按预期工作。基本上我有一个叫做“维护”的视图,用于创建,编辑和删除。表单本身包含在部分视图中(巧合地称为“_MaintenanceForm”),它具有自己的GET/POST方法来提交表单。 Here is the form.对不起,我不得不使用Pastebin而不是内联代码块 - 它们让我越过了字符限制。IE在提交表单后不会重新发送AJAX调用
请注意,表单有ID #maintenanceForm
。我只是使用jQuery函数$("#maintenanceForm").submit();
而不是使用AJAX调用来提交此表单,因此我不需要将所有字段作为数据传递。 Here is my JavaScript for the Maintenance page.
我知道.submitForm
点击函数被定义了两次,这是多余的代码,但我最初把它作为一个单独的函数导致了问题,所以我将它定义为匿名内联代替。一旦我在IE中使用它,我可以专注于清理我的代码。
我的维护视图非常简单,它只是一个<div class="maintenance-form"></div>
,维护窗体局部使用第一个AJAX调用呈现。 Here are my controller methods.基本上我遇到的问题是,在Chrome中,在MaintenanceForm POST方法之后,将调用维护GET方法,该方法重新呈现视图。重新呈现视图时,将通过AJAX调用再次调用MaintenanceForm GET和SearchTable2方法。在IE中,维护GET方法被调用,但AJAX调用不会重新提交,因此表单不会刷新。因此,我需要手动刷新页面才能看到所做的更改。
正如我所说的,它的工作原理与我在Chrome浏览器时一样,但不是IE浏览器,所以我知道它一定是某种IE兼容性问题,但我无法想象它是否适合我的生活。预先感谢任何帮助,并让我知道如果提供更多的代码将有所帮助!
[我怎么问好问题?](https://stackoverflow.com/help/how-to-ask/) – Andreas
@MichaelCoxon我不知道要搜索“缓存”。我做了很多搜索,找不到任何东西,所以我问自己的问题。然而,添加'$ .ajaxSetup({cache:false});'确实有效,所以如果你想让这个答案我很乐意接受。谢谢你的帮助! –