javascript - 延迟在 IE 11 上保存会话变量?
问题描述
我有一个应用程序,它使用 Ajax 调用来使用 PHP 脚本获取会话变量。在所有浏览器中,这都能完美运行,但在 IE 11 中,它只有在页面重新加载后才能运行。因此,当页面加载时,Ajax 调用返回 null,但是当我重新加载页面时它确实返回。
$.ajax({
type: "GET",
url: "/ajax/fetch/session",
success: function(data) {
obj_fields = $.parseJSON(data);
console.log(obj_fields);
}
});
当我在多页表单上使用它时,每个页面的值首先存储在会话中,我注意到例如当我填写第一页,提交下一页时,我需要重新加载以获取会话。从第 2 页到第 3 页,第 1 页的会话变量被加载,但只有在页面重新加载后才从第 2 页存储的会话变量。我唯一能想到的是 IE 需要一段时间才能在会话中存储变量。
这个对吗?我怎样才能最好地解决这样的问题?
或者 Ajax 调用的返回值是否以某种方式缓存在 IE 中?
在进行 Ajax 调用之前,我已经尝试过延迟 5 秒,但这也不起作用。仅在页面重新加载时
解决方案
缓存默认设置为 true,尝试禁用如下:
$.ajax({
type: "GET",
url: "/ajax/fetch/session",
cache: false,
success: function(data) {
obj_fields = $.parseJSON(data);
console.log(obj_fields);
}
});
缓存(默认值:true,对于 dataType 'script' 和 'jsonp' 为 false) 类型:Boolean 如果设置为 false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为 false 仅适用于 HEAD 和 GET 请求。它通过将“_={timestamp}”附加到 GET 参数来工作。其他类型的请求不需要该参数,除非在 IE8 中对已由 GET 请求的 URL 进行 POST。
推荐阅读
- java - 如何将未知的传入 requestParam 传递给 Spring Boot 中的帖子?
- python - 带有转换器或 dtype 的 pd.read_excel 不起作用
- node.js - 在NodeJS中处理解析空文件,这可能吗?
- python - 从数据框中删除字符串长度大于某个数字的行,在某个字符(“,”)之后直到结束
- javascript - Connect-pg-simple express:修剪会话失败:关系“会话”不存在。PostgreSQL
- push - 初级 R - 将测试文件从本地存储库推送到远程存储库时识别文件/目录的问题 (GitHub)
- powerbi - 在powerBI中创建一个不受过滤器影响的countif度量
- reactjs - 我不断收到尝试导入错误:'Auth0ProviderWithHistory' 没有从'./auth0-provider-with-history' 导出并且它正确导出
- java - 一种使用循环计算数组中唯一元素的方法(Java)
- javascript - 这个 TypeScript 类型注解实际上意味着什么?