在不同页面之间重用AJAX结果

时间:2016-01-17 04:24:48

标签: php ajax

我正在开发基于PHP的Web应用程序。 我在我的Web应用程序的许多页面上使用相同的AJAX调用。此AJAX调用的结果用于填充大约10-15的选择选项。如何在页面之间移动时避免AJAX调用,并在多个页面之间重用相同的结果。

2 个答案:

答案 0 :(得分:1)

我会选择两种不同的方法中的任何一种:

1)我在旧应用程序中使用的服务器端,不适合移动应用程序,但如果用户从桌面连接,如公司用户,则可以正常工作。

服务器端我的意思是使用服务器会话,在PHP中你可以通过这种方式调用它们:

Session_start();

在PHP脚本的开头,并且您可以将AJAX收集的数据甚至用户收集的数据存储在一个或多个会话中。请记住,每个会话都是一个PHP数组,因此您可以使用多维数据收集。

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

2)第二种方法是现代的,确实针对移动用户。这种方法是将临时数据存储在LocalStorage浏览器API中,作为会话或作为对象。

Localstorage API最高可达5Mb,但由于一系列原因,请指望不超过2.5 MB。要在本地存储上保存数据,您应该使用javascript函数将每个项目推送到数组,然后转换为JSON并将其保存到API。

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

要阅读它,在其他页面上,您需要使用getTtem方法保存到变量并根据需要进行操作:

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

当然,任何一种方法都适合你。

我强烈建议不要依赖w3schools作为知识来源或编码示例。如果你想做得很好,远离它,依靠更好的来源,如Mozilla Developer Network,那么它们已经过时且得不到很好的支持。

最后不要在Cookie上存储临时数据,除非它对您的访问者返回时有用,例如购物车,用户名,部分用户凭据,而不是所有凭据。

答案 1 :(得分:0)

如果您的意思是“如何在客户端计算机上缓存某些数据'然后看看 localstorage

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