2013-07-20 130 views
4

我在獲取本地存儲變量來存儲適當的值時遇到了一些麻煩。它的特點是我想顯示本地變量的內容,然後如果用戶單擊,它將從.xml文件中提取數據,並將其保存到本地變量中。JQuery設置本地存儲變量

問題是,它不能正確保存到局部變量。我嘗試了各種語法來使它起作用,並且我沒有想法。

測試網站它位於http://web.engr.oregonstate.edu/~todtm/assignment2.html

腳本代碼:

function startAjax() 
{ 
    $("#clickme").text("Calling server"); 
    $.ajax(
    { 
     url: "xmlpage.xml", 
     success: callbackFunction, 
     error: errorFunction 
    }); 
} 

function callbackFunction(data, info) 
{ 
    var titles = $(data).find("title"); 
    if (titles && titles.length) 
    { 
     $("#results").text("result:" + titles.text()); 
     localStorage.setItem('titles', #results.text()); 
    } 
    else 
     errorFunction(data, "No titles"); 
} 

function errorFunction(data, info) 
{ 
    $("#clickme").text("error occurred:" + info); 
} 

$(document).ready(function() 
{ 
    $("#results").text(localStorage.getItem('titles')); 
}); 
+0

哪瀏覽器是你的嘗試克在這?在Chrome中,如果您打開開發人員工具(F12)並單擊控制檯,則只需鍵入localStorage即可查看存儲的內容。 localStorage.setItem('name','value')是你需要做的。 –

+0

您在localStorage中保存'nothing',這就是頁面刷新時顯示的內容。有什麼問題? – Barmar

+0

我將#results.text()更改爲'Nothing'進行測試,並且在發佈此代碼之前未更改它。如果'沒有',我需要分配給results.text –

回答

14

你有一個語法錯誤,需要得到

localStorage.setItem('titles', $('#results').text()); 

localStorage.setItem('titles', titles.text()); 
+0

的價值,謝謝,這就像一個魅力。我對jquery非常陌生,並且我一直忘記$ –