2016-01-17 28 views
0

我正在開發基於PHP的Web應用程序。 我在我的web應用程序的許多頁面上使用相同的AJAX調用。此AJAX調用的結果用於填充大約10-15個數的選擇選項。如何在頁面之間移動時避免AJAX調用,並在多個頁面之間重複使用相同的結果。重複使用不同頁面之間的AJAX結果

回答

1

我會選擇任意的兩種不同的方法:

1)服務器端,這是我在舊應用中使用的,不是最適合移動應用的,但如果用戶從桌面連接到企業用戶,則工作良好。

通過服務器端我的意思是使用服務器會話,在PHP中你叫他們通過這種方式:

Session_start(); 

在你的PHP腳本的開始,並且比你可以存儲AJAX收集的數據,甚至用戶收集數據在一個或多個會話中。請記住,每個會話都是一個PHP數組,因此您可以使用多維數據集合。

$_Session['AjaxData']['id']='55345Af7'; 
$_Session['AjaxData']['Name']='John Doe'; 
$_Session['AjaxData']['Role']='Admin'; 

2)第二種方法是現代的,確實針對移動用戶。這種方法是將臨時數據存儲在LocalStorage瀏覽器API中,作爲會話或作爲對象存儲。

本地存儲API有高達5Mb,但由於一堆原因,請指望不超過2.5 MB。爲了將數據保存到本地存儲,您應該使用JavaScript函數將每個項目推送到一個數組,然後轉換爲JSON並將其保存到API。

function addItemToStorage() { 
    storageArray.push(item); 
} 
LocalStorage['ajaxData']=JSON.stringify(storageArray); 

而且讀它,其他頁面上,你需要使用getTtem方法保存到一個變量和操作,因爲你需要:

var AjaxData=LocalStorage.getItem('ajaxData'); 

爲了確保所有的theese方法應該工作您。

我強烈建議不要依賴w3schools作爲知識源或編碼示例。大多數過時並沒有得到很好的支持,如果你想做一個好工作,遠離它,依靠更好的來源,如Mozilla Developer Network

最後,不要將臨時數據存儲在cookie上,除非它適用於訪問者返回的時刻,例如購物車,用戶名,部分用戶憑證,而不是所有憑證。

+0

非常感謝。它非常有幫助。 – bvnbhati

0

如果你的意思是「如何緩存客戶機上的一些數據」然後目光轉向localStorage的

http://www.w3schools.com/html/html5_webstorage.asp

+0

是的。我使用的是XHTML而不是HTML5。 – bvnbhati

+0

@bvnbhati首先,XHTML已經基本上被拋棄了多年。其次,你可以使用localStorage和XHTML文檔類型。這是所有常見瀏覽器都支持的JavaScript。 – ceejayoz

相關問題