javascript - 有时只有 IE 11 失去对 ajax 调用的关注 ASP.NET MVC4

标签 javascript jquery ajax asp.net-mvc-4 internet-explorer-11

我正在使用一个 boostrap 对话框来拉入一个包含数量的列表。提交表格后,打开对话框查看数量是否更新,似乎是过时的数据。我用 ajax 调用 Controller ,然后返回数据库以获取更新的信息。但是当我在 Controller (在服务器端)中设置断点时,它永远不会命中。当我在开发人员工具和调试器中为调用 ajax 的函数设置断点时,它只会解决问题。我也没有看到任何控制台错误。

我对 Firefox 没有问题,只有 IE11.. 这是代码:

<script type="text/javascript">
    function LocationModal() {

        $("#GetLocBtn").attr("disabled", "disabled");
        var partNumber = $("#PartNum").val();
        var Condition = 'Z';
        var urlQry;
        var receiveIsChecked = document.getElementById('Receive').checked;

        var src = 'removed for security';
        $.ajax({
            type: "GET",
            url: src,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: { partNumber: partNumber, CCODE: Condition },
            beforeSend: function () {
            },
            success: function (data) {                     
              $("#LocationModalContainer").html(data.LocationModal);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            }
        });
    };

最佳答案

问题确实是 IE 缓存了 Ajax 调用的结果。您可以通过向每次调用添加 cache: false 来防止这种行为,就像您发现的那样,或者在进行任何调用之前通过 ajaxSetup 全局设置它。

$.ajaxSetup({
    cache: false
});

jQuery documentation 中不鼓励使用 ajaxSetup ,但如果您不使用任何可能依赖于正常行为的插件并且想快速确保您自己的 ajax 调用没有被缓存,这对您来说可能是一个很好的解决方案。

就个人而言,我对文档中提到的缓存设置干扰风险的真实性表示怀疑,因为基本上您只是让 IE 像其他浏览器一样运行。

关于javascript - 有时只有 IE 11 失去对 ajax 调用的关注 ASP.NET MVC4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42683181/

相关文章:

javascript - 如何通过ajax load()函数发送图像文件并通过php插入mysql db显示在div中

javascript - 使用 javascript 从浏览器打印 XML 或 TXT 文件

javascript - 当对话框在 IE11 中再次出现时按钮不会更改为禁用

javascript - AJAX 购物车 - 在 Javascript/jQuery 中实现的最佳方式

javascript - 正则表达式 C# 与 javascript 不一致

javascript - 无法获取下一个 td 值

javascript - 如何使 ajax 与数据库交互以便发布、获取和删除?

javascript - 如何使用 XMLHTTPRequest 处理 CSRF token ?

javascript - 为什么 spread() 方法在 Sequelize 中不起作用?

javascript - Highcharts 实体量表 : How can I disable gradient fill?