我有一个跟随MVC控制器动作调用的以下javascript函数:
var loadPartialChapterAfterAnswer = function () {
$.ajax({
url: '@Url.Action("IsAuthenticated", "Story")',
type: "POST",
success: function(data) {
var isAuthenticated = data;
if (isAuthenticated) {
if ('@Model.IsPersonality' == 'True') {
loadPartialChapter();
} else {
$("#chapterContainer").load('@Url.Action("GetNextQuestion", "Story")' + '?storyId=' + '@Model.Id', function () {
selectedCounter = 0;
showOnlyOneQuestion();
});
}
} else {
window.location.href = '@Url.Action("RedirectToHomeRoute", "Home")';
}
},
error: function() {
alert("Error");
}
});
};
每次在我的页面(视图)上选中一个复选框时,都会调用此函数。除IE之外,代码在所有浏览器中都很有效。在IE中,每次都会调用ajax url @Url.Action("IsAuthenticated", "Story")
,但只有在IE的浏览器调试器打开时才会调用其他控制器操作'@Url.Action("GetNextQuestion", "Story")' + '?storyId=' + '@Model.Id'
。当IE的调试器窗口关闭时,永远不会调用第二个MVC动作。
非常感谢任何帮助!
解
我在页面的开头添加了这段代码:
<script>
$.ajaxSetup({
cache: false
});
</script>
现在它有效!谢谢你的努力。
答案 0 :(得分:2)
我读过有关IE有JQuery加载功能问题的内容
尝试使用常规$.ajax
替换cache: false
选项,希望它能解决问题。
选中此topic
答案 1 :(得分:0)
添加控制器:@ Url.Action(“GetNextQuestion”)' 没有控制器指定它放置最后返回视图的控制器。