Php 停止javascript缓存

Php 停止javascript缓存,php,javascript,jquery,zend-framework,browser-cache,Php,Javascript,Jquery,Zend Framework,Browser Cache,我有个问题 我正在使用zend创建一个web应用程序,我的jquery和Javascript遇到了一个问题 我有一个页面显示一个订单,页面上的jquery代码写在脚本标记中 我使用jquery$.post加载网站上的每个页面 我的问题是,当您第一次访问订单页面时选择一个新的订单页面,然后单击打开jquery对话框的按钮向订单添加信息时,会发送正确的post变量;但是,如果您接着转到另一个订单并再次单击“添加”按钮,它将发送来自上一个订单的post变量 我假设之前的javascript信息已经被缓

我有个问题

我正在使用zend创建一个web应用程序,我的jquery和Javascript遇到了一个问题

我有一个页面显示一个订单,页面上的jquery代码写在脚本标记中

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

我的问题是,当您第一次访问订单页面时选择一个新的订单页面,然后单击打开jquery对话框的按钮向订单添加信息时,会发送正确的post变量;但是,如果您接着转到另一个订单并再次单击“添加”按钮,它将发送来自上一个订单的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正在恢复为旧的订单id

我在网站的另一部分遇到了类似的问题,javascript从3周前恢复到javascript代码,尽管我在另一台计算机上使用它并清除了缓存。这让我很吃惊。

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

$.post("url...?c=" + Math.random())
这不是最好的方法,但它们都可以工作。

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

$.post("url...?c=" + Math.random())
这不是做事情的最佳方式,但它们都有效。

我尝试过cache:false

我尝试在末尾添加随机get变量

我知道post没有被缓存,但每个页面上的javascript必须被缓存,因为使用的javascript是页面初始视图中的第一个版本。

我尝试过缓存:false

我尝试在末尾添加随机get变量


我知道post没有被缓存,但每个页面上的javascript必须被缓存,因为使用的javascript是页面初始视图中的第一个版本。

您的JS可能有问题,但我怀疑这是JS缓存问题。在你的客户机上找到Fiddler2。当你浏览你的网站时,它可以让你了解很多像这样奇怪的问题——问题在别处。帖子没有被缓存。你的JS可能有问题,但我怀疑这是JS缓存问题。在你的客户机上找到Fiddler2。当你浏览你的网站时,它可以让你了解很多像这样奇怪的问题——问题在别处。未缓存帖子。这些都不起作用。我一直在想这可能与jQuery有关。live函数仍在使用中。这些都不起作用。我一直在想这可能与jquerys.live函数有关。