当我使用ajax时,我必须再次使用mysql_query来获取该文件中用于ajax的信息。我可以在没有mysql_query的情况下执行操作,例如include();? 问你是否理解,因为我猜我的问题不是很正确。
已编辑:当我尝试访问ajax文件时,在该文件中我必须再次检索成员信息。所以,我的问题是,是否有可能避免这种情况?
答案 0 :(得分:2)
使用内容协商和缓存的组合,例如
Controller
Action
// check if query is cached
if(!Cache->hasSaved(Query))
Result = Query->run
Cache->save(Result)
else
Result = Cache->getSaved(Query)
// check if Request was done via Ajax
if(Request->isAjax)
View->disableLayout
View->set(JSON->encode(Result))
else
View->set(Result)
与Ignacio explained类似,每个对服务器的请求都是隔离的。 PHP有一个无共享架构,所以你唯一可以阻止查询再次运行的就是缓存它。内容协商只是帮助使用相同的查询并在依赖请求上下文中返回它,因此您没有Ajax的Controller Action和常规调用的一个。
答案 1 :(得分:0)
每次访问服务器上的PHP页面都是一个独立的操作。除非明确缓存,否则结果不会在访问之间缓存,例如,在会议中。
答案 2 :(得分:0)