如何不在移动 safari 应用程序中缓存 AJAX POST?

2024-01-16

感谢这篇文章,我能够解决 mobile safari 缓存 ajax POST 请求的问题。添加“headers: {'Cache-Control': 'no-cache'}”似乎对我在移动 Safari 中的页面起到了作用。

但是,当我通过 mobile safari webapp 访问我的网站时,ajax 请求仍然被缓存。我无法找到解决方案,所以我想在这里发布。除了添加上面提到的标头之外,我还尝试添加“cache: false”以及添加“url: '/ajax_url?v='+time”。似乎什么都不起作用。

为什么移动 Safari 与 Web 应用程序中的行为不同?我该如何解决这个问题?

EDIT:

忘记了我的代码。这里是:

function send_ajax(my_data,refresh){ 
    var now = new Date();
        var n = now.getTime();
    $.ajax({  
      url: "/ajax_page?time=" + n,
      type: "POST",
      headers: {"cache-control": "no-cache"},
      data: my_data,
      dataType: 'json'
      })
      .fail( function (jqXHR, textStatus, errorThrown){
      })
      .done(function(data){ // refresh the page after we get the results
        if(refresh=='true'){
            var pathArray = window.location.pathname.split('/');
            window.location.href = '/' + pathArray[1];

        }
      });         

    }

 send_ajax({'my_checkbox': $('#my_checkbox').is(':checked') },'true');  

一种始终有效的解决方案是向请求添加一个参数,其中包含发出请求的时间(本质上是时间戳)。这使得每个请求都成为服务器必须处理的独特雪花。

它类似于将网站的版本放入所有脚本/css 文件的名称中,以便更新后访问您网站的用户必须下载新文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何不在移动 safari 应用程序中缓存 AJAX POST? 的相关文章

  • 为什么我必须将所有脚本放入 jquery mobile 中的index.html

    我在我的phonegap jquerymobile 项目中使用 mobile changepage 进行重定向 然而让我困惑的是我需要将所有页面的脚本放在同一个文件index html中 如果不是 则重定向页面无法执行其标头中的函数 例如
  • 在选择下拉列表中选择特定选项时添加输入框

    我需要在选择选项时将输入添加到选择选项中 每当用户选择 其他 时 就会出现一个输入框供用户输入数据 HTML
  • 如何让更大的布局适合小设备屏幕?

    我有一个小问题meta viewport元素 问题是我的布局min width比我想要使用的许多屏幕分辨率都要大 所以将其设置为 没有帮助 结果我得到的页面必须缩小以适应设备宽度 如果我什至添加像 它也不起作用 发现了一个黑客来自CSS 技
  • AngularJS 与(Angular JS + jQuery)

    我有一个关于仅使用 AngularJS 和纯 JavaScript 以及使用 AngularJS 和 jQuery 时的性能问题 ex app directive fitHeight function window return restr
  • 在成功回调之前修改 JSONP 结果

    我想从外部服务加载一些 JSON 数据 然而 它提供 foo bar useful 而我真正关心的是 有用 的部分 我需要将那部分传递给success打回来 我正在尝试使用Deferred一次从多个数据源加载 类似this https st
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • Twitter 引导选项卡和 JavaScript 事件

    我正在一个项目中使用 twitter bootstrap 特别是它的选项卡功能 http twitter github com bootstrap javascript html tabs http twitter github com b
  • jQuery 的 .each() 方法是并行还是顺序运行其语句?

    在我的 HTML 页面中 我有 4 个列表项和以下 jQuery 代码 li hide each function this delay 500 fadeIn 1000 我假设 each 函数内的语句将为第一个列表项运行 完成后为第二个列表
  • 如何使用 jquery 生成并附加随机字符串

    一般性 我想使用 jQuery 或 javascript 将随机字符串附加到元素的属性 规格 我需要引用 CDN 上的 CSS 文件 不幸的是 每次更新该 CSS 文件时 CDN 都会更改该文件的 URL 所以我不能简单地引用静态 URL
  • AJAX 加载的图像在 Safari 中无法正确显示

    因此 我使用 AJAX 加载每个页面的内容并将其注入当前页面 在 Chrome Firefox Internet Explorer 上一切都运行良好 尽其所能 哈哈 并且除了两个奇怪的部分之外 内容在 Safari 上加载良好 通过 AJA
  • jquery 删除 标签,同时保留其内容(并用
    替换

    :s)

    有没有一种好方法可以删除所有 SPAN 标签 同时保留其中的文本 并用 BR 替换所有 DIV 和 P 使用 jQuery div p Lorem ipsum dolor sit amet consectetur adipiscing el
  • HighStocks 可拖动元素干扰 gridster 拖动

    我正在使用 HighStocks 和 gridster 的股票图表 gridster 中的每个单独的块都可以自由拖动 然而 股票时间滑块小工具也可以拖动和调整大小 由于它位于 gridster 小部件的顶部 因此每当我拖动滑块时 整个小部件
  • JQuery 找不到我的元素。为什么?

    更新 愚蠢的我没有注意到案例不准确 我为此苦苦挣扎了 30 多分钟 而你们在不到 5 分钟的时间里就看到了我的问题 感谢您为我节省了很多悲伤 无论如何 我对编程还是个新手 我需要学习如何留意这样的小事情 但非常感谢 它甚至没有闪过我的脑海
  • jQuery 的 on() 支持这种 livequery 功能吗?

    使用 livequery 我可以执行以下操作 focusable livequery function this focus 我知道 jQuery 支持委托等的自定义函数 但我没有看到任何让我认为 jQuery 可以完成 livequery
  • 使用 moment.js 和 setInterval 动态日期和时间

    我试图找出如何使用显示动态日期和时间moment js http momentjs com 显然我无法弄清楚如何正确使用 setInterval 如果可能的话 我不想使用 jQuery 因为 moment js 不需要它 这是我到目前为止所
  • 两个单独表格上的 Td 高度

    我有两个单独的表 我在每个 tr 上使用焦点 悬停函数 该函数同时在两个表上都很好用 我的问题是 td 高度 因为如果第一个表中 td 的描述更大 将显示在中的两行上相同的td和td的高度将被修改 但仅限于第一个表td 如何记住第一个表中
  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • Razorpay 支付集成 -> 我如何检测关闭按钮 X 附近的 razorpay 模型

    我在 CI 框架中使用 Razorpay 当用户在没有付款的情况下关闭时 创建 razor 支付模型 然后对于取消订单 我希望通过状态更改为已取消来触发查询 那么我怎样才能检测到这一点 我已经在使用 by click jQuery 点击关闭
  • 在 GeoJson 数据接收到的 Google 地图多边形上放置标签

    我想将带有信息的标签 或带有标签的 div 放在由下面的代码片段绘制的多边形上 样式属性已成功应用于要素 多边形类型 有谁知道如何向该特征添加文本并将其显示在多边形的中心 function handleGeoJson data map da
  • 如何在 Firefox 插件上使用 jQuery 1.5.2+?

    首先 我创建了一个接收参数并返回 jQuery 的函数 例如 function getjQuery window jquery code window return window jQuery 但后来我收到了一封评论电子邮件 他们告诉我必须

随机推荐

  • 多线程将对象引用传递给静态帮助器方法

    我只是 Java 的初学者 偶然发现了多线程应用程序 我知道这个问题与这里的一些帖子类似 但我找不到更好的答案来回答我的问题 基本上 我想将对象传递给静态方法 该方法将仅根据对象的值 属性返回输出 对于每次调用 我都会创建该对象的一个 新实
  • 视图控制器可以访问传入 Segue 的标识符吗?

    视图控制器可以访问用于转换到它的 Segue 的标识符吗 例如 我使用带有标识符 mySegue 的 Segue 从视图控制器 A 转换到视图控制器 B 无论如何 视图控制器 B 是否可以获取 segue 的标识符 我不相信有这样的财产 这
  • JAX-RS 中的 @Produces 注释

    我的服务方法产生其中之一MediaTypes它可能会产生pdf or excel文件或其他 Produces application pdf application vnd ms excel 我的问题 我的服务返回响应类型applicati
  • 在 Swift 中使用实时滤镜录制视频

    我是 swift 的新手 试图构建一个相机应用程序 它可以应用实时滤镜 并使用应用的滤镜进行保存 到目前为止 我可以使用应用的滤镜实时预览 但当我保存视频时 它全黑了 import UIKit import AVFoundation imp
  • 发布模式出错,但调试模式下不出错

    我的代码在调试模式下运行良好 但在发布模式下失败 这是我失败的代码片段 LOADER gt AllocBundle m InitialContent while m InitialContent isReady this gt Loadin
  • 带 Plotly 的树形图:空白屏幕?

    我正在使用 R 编程语言 我正在尝试遵循此处提供的答案 R 中使用plotly 绘制树形图 https stackoverflow com questions 72179306 treemap plot with plotly in r 我
  • “索引签名参数类型不能是联合类型。” – 我应该用什么来代替?

    当我尝试编译此 Typescript 代码时 interface Foo foo hello world string 我收到此错误消息 索引签名参数类型不能是联合类型 考虑改用映射对象类型 什么是映射对象类型 如何使用它 映射的对象类型对
  • 检查变量是否是字符串的简单方法?

    这个问题是一个衍生问题 是 Array 的实例 但 不是 String 的实例 https stackoverflow com questions 12254658 is an instance of array but isnt of s
  • 使用 Microsoft Graph 客户端创建日历事件

    我正在尝试弄清楚如何使用 Microsoft Graph JavaScript 客户端创建日历事件 我已经设法找回必要的accessToken并且可以与 API 交互 即检索事件 日历 前 10 封电子邮件 但我不确定如何使用 API 来创
  • Laravel 4:如何更新 Eloquent 模型中的多个字段?

    如何更新 Eloquent 模型中的多个字段 假设我是这样得到的 user User where username rok 然后我就有了所有这些模型参数 new user data array email gt email protecte
  • ZF2 - Zend Framework 2,了解路由

    我正在尝试了解 ZF2 中的模块路由 目前我只能为单个操作创建一个控制器 并且正在努力找出这个路由 我查看了其他模块和插件 我有点明白了 只需要一点点推动就可以 得到它 在此示例中 我尝试路由到两个操作 indexAction 和 cmst
  • 粘贴前检查剪贴板的内容

    在Excel VBA中粘贴之前是否可以检查剪贴板的内容 我今天有这个 Sheets Add After Sheets Sheets Count Create new sheet ActiveSheet Paste Paste from Cl
  • Android 按钮位置编程

    我的应用程序中有一个按钮 我想以编程方式更改其位置 我在 XML 中创建了一个按钮 如下所示
  • 如何使用 phinx 编写迁移来插入记录?

    我在用着phinx http docs phinx org 为了处理新项目的迁移 现在我需要创建一个新表并向其中插入一些行 我有 tableStatus this gt table status tableStatus gt addColu
  • PERF_TYPE_HARDWARE 和 PERF_TYPE_HW_CACHE 并发监控

    我正在研究一个自定义实现perf event open系统调用 该实施旨在支持各种PERF TYPE HARDWARE PERF TYPE SOFTWARE and PERF TYPE HW CACHE活动为任何核心上的特定线程 In 英特
  • argparse —— 可选参数需要 2 个值或没有值

    我正在尝试为脚本创建一个可选参数 该参数可以不带任何值 也可以带 2 个值 仅此而已 你能使用 argparse 来完成这个任务吗 desired output script py a gt works script py a val1 g
  • 扭曲的延迟/回调和异步执行

    我试图弄清楚如何使用twisted使我的代码更加异步 函数返回一个延迟对象 然后我添加回调列表 延迟函数通过以下方式提供一些结果后将调用第一个回调deferred obj callback 然后 在回调链中 第一个回调将处理数据并调用第二个
  • 如何在 Swift 中使用 getData() 和 ObjC PNChart 库绘制折线图?

    我是一名新手程序员 最近开始学习 Swift 我正在 Swift 中制作一个项目 我的目的是在引入参数的同一视图中绘制用户引入的信号函数 使用由 PNLineChart 类控制的子视图 事实上 我使用 CocoaPods 安装了 PNCha
  • JQuery设置多个下拉选项为selected

    我遇到了一个有趣的小问题 可能只是我太傻了 我有一个看起来有点像这样的选择框
  • 如何不在移动 safari 应用程序中缓存 AJAX POST?

    感谢这篇文章 我能够解决 mobile safari 缓存 ajax POST 请求的问题 添加 headers Cache Control no cache 似乎对我在移动 Safari 中的页面起到了作用 但是 当我通过 mobile