【发布时间】:2011-01-20 03:23:01
【问题描述】:
我有问题。
我正在使用 zend 创建一个 Web 应用程序,但我的 jquery 和 javascripts 遇到了问题。
我有一个页面显示订单,页面上的脚本标签内写有 jquery 代码。
我正在使用 jquery $.post 加载网站上的每个页面。
我的问题是,当您选择一个新的订单页面(第一次访问订单页面)时,然后单击一个打开 jquery 对话框的按钮以将信息添加到订单中,发送正确的帖子变量;但是,如果您随后转到另一个订单并再次单击添加按钮,它会发送上一个订单的发布变量。
我假设以前的 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 代码,即使我在另一台计算机上使用它并清除了缓存。这把我吓坏了。
【问题讨论】:
-
您的 JS 可能有问题,但我怀疑这是 JS 缓存问题。去你的客户端机器上获取 Fiddler2。当您浏览您的网站时,它可以为您解决此类奇怪的问题提供很多启示
-
问题出在其他地方。
POST未缓存。
标签: php javascript jquery zend-framework browser-cache