12
我將從問題開始:控制檯中的緩存對象?
- 我正在更改對象字面量的內容。 (更改屬性值)
- Firebug控制檯(最初點擊)顯示正確的值。
- 但過了一段時間,它停留在一個特定的值,並停止改變。
(通知:該對象的stringify
表示 - 總是顯示正確的值)
而且下面是詳細信息:
我選擇在
textbox
一個street
(它應在對象中設置StreetText
值)我看了t的
console
(寬線),並按最後一行,看街道文字。
起初沒問題。在第二次嘗試中,在我選擇另一條街道之後,它保持舊值。
但是,當我按刷新(在對象上)時,它會顯示正確的街道名稱。
這是怎麼回事?
我的對象是一個普通的對象常量:
var obj =
{
getData: function()
{
obj.CountryId = $(".ddlCountry").val() || "";
obj.CountryText = $(".ddlCountry :selected").text() || "";
obj.StateId = $(".ddlState:visible").val() || "";
obj.StateText = $(".ddlState:visible :selected").text() || "";
obj.CityId = $(".hfDataIdCity").val() || "";
obj.CityText = $(".hfDataTextCity").val() || "";
obj.StreetId = $(".hfDataIdStreet").val() || "";
obj.StreetText = $(".hfDataTextStreet").val() || "";
}
}
,並在控制檯上顯示由onclicking此按鍵:
obj.getData();
console.log(obj);
爲什麼我沒有看到正確的值? (只有刷新後....)
p.s. : FF:14.0.1
FB:1.10.6
和緩存被關閉
如果您使用任何jQuery的AJAX方法,您可能需要將'cache'選項指定爲'false'。我猜想,瀏覽器只是緩存舊的請求,以節省帶寬。 – zzzzBov
發佈您在提出請求時使用的代碼會很有幫助。 – zzzzBov
@zzzzBov對不起,但它是如何相關的?我確實在STRINGIFY對象上看到了正確的值。這意味着AJAX已經完成並更新了屬性值。 (並且我在使用ajax時使用cache:false)。如果ajax異步或緩存存在問題,則STRINGIFY也會顯示舊值。 –