AJAX 调用填充的响应数据变量包含源代码,而不是从服务器(在 MS Edge 上)发送的数据

问题描述 投票:0回答:1

我遇到了最奇怪的问题!这种情况仅发生在 MS Edge 上,并且仅适用于特定客户端上的特定用户。总之,当对服务器进行 ajax 调用时,响应数据变量不再保存服务器响应,而是保存来自平台的一些源代码。下面的代码...我不确定这怎么可能?!?我们无法重现 - 但我们可以与用户共享屏幕并确认问题

Ajax代码:

        console.log("Calling: " + api);
        $.ajax({
            url: api,
            cache: true,
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                displayExceptionNotification("Error on call to " + api + ": " + errorThrown);
            }
        }).then(function (theData) {
// Use the server response
}

变量“theData”不保存从服务器返回的 JSON 数据,而是保存完全不相关的 .js 文件的内容?!?我们知道这一点是因为我们可以远程查看/与用户共享,使用检查/调试工具并将鼠标悬停在上面以查看“theData”的值 - 请参阅随附的屏幕截图。我无法想出为什么会这样 - 但当然,当后续代码运行而不是获得预期的 JSON 时,它会获得一堆原始 js 源代码并失败..

有什么想法吗?

edge

javascript ajax microsoft-edge
1个回答
0
投票

您可以清除浏览器缓存或在 Edge InPrivate 窗口中测试一下问题是否仍然存在。

InPrivate 模式与普通模式的区别在于 InPrivate 模式不保存任何浏览器缓存和 cookie。所以,我认为源代码来自浏览器缓存。但不知道它如何进入响应数据。

参考链接:私人浏览:它是什么以及如何使用它

© www.soinside.com 2019 - 2024. All rights reserved.