我是PHP,JavaScript,JQuery,JSON和AJAX的新手。几个星期前我开始学习所有这些东西
我的问题:
我正在创建一个显示数据库数据的网站。在网站上,应该可以搜索,订购和过滤数据。
现在,我从一个AJAX请求中收到一个JSON_encoded数组,其中包含数据库中的所有数据。现在我问是否可以在全局变量中保存来自AJAX请求的响应,例如,如果用户想要订购数据,我不需要再次从数据库中获取数据。 (通过使用像php函数“multisort()”)的东西
或者我是否必须在查询ORDER BY中使用新的查询/ Ajax请求来订购数据?
我已经读过,由于Ajax的异步性,保存到全局变量不起作用。那么如何避免许多Ajax请求呢?或许多Ajax请求解决此问题的常用方法?
我希望你能理解我的问题 如果你想我可以附上我的书面代码,但是没有尝试解决这个问题,因为我想了解什么是常见的解决方案。
答案 0 :(得分:1)
我认为从数据库中完成它会更容易,也更有效率。你有SQL来帮助你进行过滤和排序。将它存储在变量中可能会占用服务器上太多的内存 - 只是为了存储已经存在于数据库中的数据
对于用户的每个请求,向数据库发送请求并显示数据
答案 1 :(得分:0)
如果您有用户系统,则可以将数据序列化或json_encode到用户会话。尽管如此,取决于数据。
答案 2 :(得分:0)
HTTP是无状态协议。有几种方法可以做到这一点:
答案 3 :(得分:0)
您可以在这样的全局变量中保存客户端的ajax响应。希望这有用。
if (!window.OPT) window.OPT = {};
$.ajax({ url: '/yourURL/' }).done(
function(data) {
OPT.AJAXResult = data ;
} );