带有MVC的Javascript在没有浏览器调试器的IE中不工作

带有MVC的Javascript在没有浏览器调试器的IE中不工作,javascript,jquery,asp.net-mvc,internet-explorer,Javascript,Jquery,Asp.net Mvc,Internet Explorer,我有一个混合了MVC控制器操作调用的javascript函数: var loadPartialChapterAfterAnswer = function () { $.ajax({ url: '@Url.Action("IsAuthenticated", "Story")', type: "POST", success: function(data) {

我有一个混合了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”)每次都被调用为OK,但另一个控制器操作'@url.Action(“GetNextQuestion”,“Story”)'+'?storyId='+'@Model.Id'仅在IE的浏览器调试器打开时才被调用。当IE的调试器窗口关闭时,不会调用第二个MVC操作

非常感谢您的帮助

解决方案

我在页面开头添加了以下代码:

<script>
    $.ajaxSetup({
        cache: false
    });
</script>

$.ajaxSetup({
缓存:false
});

现在它工作了!感谢大家的努力。

将控制器添加到此:@Url.Action(“GetNextQuestion”)'
如果未指定控制器,则放置最后返回视图的控制器

我读到一些关于IE在JQuery加载函数方面存在问题的文章 尝试用常规的
$替换它。ajax
使用
缓存:false
选项希望它能解决这个问题


选中此项

我添加了控制器名称,但没有帮助。@kiriz您是否尝试在其他浏览器中测试此功能?正如我在问题中所说,此功能在所有其他浏览器中都能100%工作。好的,我只在Chrome和Firefox上测试过它@kiriz您注意到razor在这些浏览器之间生成的url有什么不同吗?您可以在IE中加载页面而不启用它的浏览器调试器,并且在加载完成后启用它并检查生成的url吗。或者,您可以在文档准备就绪事件时提醒它,以避免使用调试器。我解决了我的问题。你可以在我问题的底部查看它。顺便说一下:'@Url.Action(“GetNextQuestion”,“Story”)'+'?storyId='+'@Model.Id'与'@Url.Action(“GetNextQuestion”,“Story”)'+'?storyId=@Model.Id'IE的问题几乎所有东西都存储在缓存中。在ajax中,必须指定“cache:false”属性,以便请求具有时间戳,以便IE现在从控制器执行操作everytime@AlexArt-是的,我知道,但这没什么大不了的…@JorgeF-cache:false不幸没有帮助…在ppl上说IE倾向于在console.log()上崩溃(和其他控制台方法)除非调试器处于打开状态。我试图不包含包含console、console.log()的脚本,但没有帮助。