php - 停止 javascript 缓存

标签 php javascript jquery zend-framework browser-cache

我有一个问题。

我正在使用 zend 创建 Web 应用程序,但我的 jquery 和 javascript 遇到了问题。

我有一个页面,显示订单,并在页面上的脚本标记内编写了 jquery 代码。

我使用 jquery $.post 加载网站上的每个页面。

我的问题是,当您选择一个新的订单页面(第一次访问订单页面),然后单击打开 jquery 对话框的按钮以向订单添加信息时,会发送正确的 post 变量;但如果您随后继续处理另一个订单并再次单击该添加按钮,它将发送前一个订单的发布变量。

我假设之前的 javascript 信息已被缓存。如果我清空缓存,它再次可以正常处理该订单,但无法处理之后的订单。

我正在使用 php 将相关变量(订单 ID)粘贴到内联 JavaScript 代码中。

我猜这就是我的失败。

我不明白的是,javascript 对于页面的初始加载工作得很好,因为它然后使用 ajax 来获取页面的更多部分。这工作正常,但是当我使用按钮时,它会恢复到开始时使用的原始订单 ID。

附件是我的代码:

function getFreightTable()
    {
        $.post("order/freighttable", "OrderID=<?= $this->orderID; ?>" , function(data){
            $("#tabs-3").html(data);
        });
    }

    $("#OrderAddFreightButton").live('click',function() {
        $.post("freight/new", "OrderID=<?= $this->orderID; ?>", function(data) {
            $("#orderAddFreightDialog").html(data);
            $("#orderAddFreightDialog").dialog({    
                autoOpen: true, 
                hide: 'slide',
                show: 'slide', 
                title: 'Add New Freight Information',
                closeOnEscape: true,
                close: function(event, ui) 
                { 
                    $("#orderAddFreightDialog").empty();
                    getFreightTable();
                }
            });
        });
        return false;
    });

我的 php 正在代码中放置正确的订单 ID,但 javascript 正在恢复到较旧的设置。

即使我在另一台计算机上使用它并清除了缓存,网站的另一个部分和 javascript 也恢复为 3 周前的 javascript 代码,我也遇到了类似的问题。这让我很害怕。

最佳答案

您可以使用 jQuery 的 .ajax()指定 cache: false,这将强制请求不缓存请求 - 请注意,您必须重写函数以不再使用 $.post 而是使用$.ajax。如果您不想这样做,您还可以添加到您的网址以欺骗浏览器:

$.post("url...?c=" + Math.random())

这不是最好的做事方式,但它们都有效。

关于php - 停止 javascript 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4743140/

相关文章:

php/mysql - 按日期排序

javascript - 我需要在使用 HTML 和 Javascript 后将表单上提交的输入显示在页面上

javascript - jQuery 简单价格 * 多个项目的总数量

javascript - RegEx 在 JavaScript 中使用敬称(先生、小姐、夫人、硕士)测试值

javascript - 当条件应该通过时,if 语句运行 else

php - 当非对象的属性明显是对象的属性时尝试获取它

php - 我的 php 登录表单有什么问题?

php - 为什么 php 将 $_FILES 值按名称、类型而不是输入文件名的顺序分组?

javascript - Jquery div 到文本框 onclick 并返回到 div

jQuery - 文本只切换一次