Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在哪里使用Coldfusion以面向对象的方法呈现Ajax搜索结果?_Javascript_Ajax_Jquery Mobile_Coldfusion_Templating Engine - Fatal编程技术网

Javascript 在哪里使用Coldfusion以面向对象的方法呈现Ajax搜索结果?

Javascript 在哪里使用Coldfusion以面向对象的方法呈现Ajax搜索结果?,javascript,ajax,jquery-mobile,coldfusion,templating-engine,Javascript,Ajax,Jquery Mobile,Coldfusion,Templating Engine,我正在更新一个Coldfusion8/MySql站点,其中包含一个相当复杂的搜索,从“意大利面条到对象”(=独立的视图、控制器和进程-没有框架,一切都由Jquery Mobile处理) 我需要通过Jquery AJAX运行搜索查询,现在将搜索表单发布到我的searchProcess.cfc,它执行数据库查询 问题: 我不确定在哪里渲染结果 结果将相当复杂(数据库中有几百万条记录,40个字段的行),应该以单个结果布局或多个结果布局文件结束 我想在cfc内部构建文件,并通过cfsavecontent

我正在更新一个Coldfusion8/MySql站点,其中包含一个相当复杂的搜索,从“意大利面条到对象”(=独立的视图、控制器和进程-没有框架,一切都由Jquery Mobile处理)

我需要通过Jquery AJAX运行搜索查询,现在将搜索表单发布到我的searchProcess.cfc,它执行数据库查询

问题:
我不确定在哪里渲染结果

结果将相当复杂(数据库中有几百万条记录,40个字段的行),应该以单个结果布局或多个结果布局文件结束

我想在cfc内部构建文件,并通过cfsavecontent将它们交回,但我到处都在阅读这是一个禁忌

那么,还有什么选择呢

我可以设置一个模板\u single.cfm模板\u multi.cfm,将纯搜索结果作为AJAX响应传回,然后从成功处理程序触发另一个AJAX调用来调用模板,然后呈现第二次调用的输出。这看起来非常复杂,而且我不知道在不传递大型数据集的情况下,在哪里可以进行分页

所以我在寻找一些关于如何以面向对象的方式处理搜索结果的建议

谢谢你的意见

编辑:
在谷歌搜索了几个小时后,我现在正在考虑以下选项:
1.)运行单个数据库查询以返回分页结果-根据
2.)以JSON格式将包含0-25条记录的数据发送回AJAX
3.)尝试在循环中使用模板cf/js(长度1或长度25)-根据

这意味着数据传输仅针对JSON中的1-25条原始记录。如果我尝试在成功处理程序中呈现,我就不必http请求另一个模板


这种方法有意义吗?

首先,我认为将显示逻辑放在.cfc中没有什么错,它专门用于显示逻辑。我知道这不是严格的MVC,但取决于你在做什么,它可以工作得很好。我不喜欢的是.cfc,它在函数中做任何类型的输出。我总是从函数中返回任何数据

/最终意见

对于这个特殊的问题,我再次考虑将视图设置为几乎所有HTML/jQuery,并使用AJAX调用分页记录集。至于单个/多个结果,我会根据需要使用不同的jQuery函数。这样做的好处是,您可以让多个记录集显示调用单记录显示来查看单个记录(同时仍在Dom中保留完整的记录集)

在这两种情况下,我强烈建议使用函数(在可视化DOM数据方面非常有帮助)


另外,如果有人发现任何更新/更好的JS转储函数可以像cfdump一样工作,请,请,请让我知道

如果你投票关闭,至少要发表评论。这不是我的投票,但选择的原因是“属于”。这是错误的,因为那个网站是关于程序员(人)的,而这个网站是关于编程(任务),这个问题肯定是关于后者的。顺便说一句,虽然我自己对此没有任何想法,但我建议将标签改为:[]-我认为这些更好地代表了你所问的问题。频繁-你的关注并不表示目标流量、观众或性能问题。根据我的经验,您正在解决的问题受到目标客户环境的严重影响。例如,由于您使用的是jquery mobile—这是一个移动ap吗?如果是这样,那么上面的选项2可能是最有效的方法(这可能是您最关心的)。但如果是纯桌面环境或内部网,则选择1可能更好。明白我的意思了吗?@MarkAKruger-这将是一款移动应用程序,就像“懒散加载”25张唱片的想法一样。但我认为通常提取的单个记录将基于条形码等标准,因此不会有25个结果,而只有1个。不过我还是会记住这一点,也许只是把上一张和下一张的12张唱片放在一起。。。我通常只使用浏览器控制台-使用
console.log(…)
查看简单值,使用
console.dir(…)
查看更复杂的变量,再加上Firebug/Dragonfly/etc检查HTML/DOM/等。