2014-01-29 48 views
1

我真的不確定要查找什麼,谷歌並沒有給我帶來很多結果,但它可能是我在尋找錯誤的東西。jQuery只能使用警報後的值

我目前正在編寫一個使用jQuery cookie插件的應用程序。大多數情況下,它工作正常。我有一段不工作的代碼

var name = $.cookie('appview'); 
    this.changeStateToViewing(name); 

這是行不通的。我也試過name = name + ""name.toString()String(name)

只有兩種方法可以在我的程序中獲得appview的值。

  • 當我使用報警功能打印的appview的價值,它的工作原理
  • 當我調試程序,並期待在appview在表達它的工作原理

如果我只是讓程序運行,沒有結果。

但是當我使用警報

我不知道發生了什麼事。我正在使用Firefox。

這裏的示例代碼中我有

Application.prototype.changeStateToViewing = function(name) { 
    this.setViewing(name); 
    this.viewingDiv.fadeIn(250, function(){}); 
    this.gitDiv.fadeIn(250, function(){}); 
    this.markdownDiv.fadeIn(250, function(){}); 
    this.appState = EApplicationState.VIEWING; 
    $.cookie('appstate', 'viewing'); 
    $.cookie('appview', name); 
} 

Application.prototype.setViewing = function(name) { 
    $("#viewingusername").text(name); 
} 

編輯:我注意到$('#viewingusername').text("LKDSJFDSJFLKJDSLKFJDSLKFj")不刷新瀏覽器,定時問題後工作?

+0

可以把小提琴放在一起嗎? – msanteler

+0

你在哪裏設置'Bryan'文本,也許這裏有什麼問題?你有沒有嘗試將文本值設置爲靜態? – Niklas

+0

我通過'$ .cookie'設置文本'bryan':'$ .cookie('appview',name);'。我只是嘗試了靜態文本,這也不起作用,所以我認爲我的問題實際上是不同的。 –

回答

0

原因可能是您存儲了太多的Cookie。你可以清除cookie並重試。和解決方法可能會延遲設置setTimeout(但這是不好的做法,因爲我們仍然不知道如何獲取cookie的時間)。

var name = $.cookie('appview'); 
setTimeout(function(){ 
    this.changeStateToViewing(name); 
},500) 
+0

我已經清除了我的Cookie,並且在我的代碼中只使用了2個不同的Cookie。該解決方案對我無效。 –