0

我有一个Jquery Mobile应用程序。JQM 请求的第一个页面始终是常规页面加载。所有后续页面都通过 Ajax 拉入。由于用户可以从每个页面开始,我需要在每个页面上放置完整的标题,包括我所有的自定义内容,例如(系统错误消息等)。

这一切都加载在第一页上。在随后的页面加载via AJAX中,JQM 仍然请求整个页面,尽管只div data-role="page"使用了它们之间的内容。

所以我想这样做:

<cfset variables.xmlDetect = "">
    <cfset variables.headsUp = GetHttpRequestData()>
    <cfif StructKeyExists(variables.headsUp.headers, "X-Requested-With")>
        <cfset variables.xmlDetect = StructFind(variables.headsUp.headers, "X-Requested-With")>
    </cfif>
    <cfif variables.xmlDetect NEQ "">
        <cfset request.xmlDetected = "true">
    <cfelse>
        <cfset request.xmlDetected = "false">
    </cfif>

并为 设置一个标志this is requested via AJAX,这样我就可以减少页眉和其他所有内容,因为它们已经在第一页上加载了。

我只阅读request范围对于通过请求堆栈传递信息是不好的。是这样吗?我喜欢的想法if request=xml, skip all of this, else serve it。在不违反封装的情况下跨模板和视图执行此操作的正确方法是什么?只需保存大量数据一到达客户端就被发送和转储。

谢谢你的一些建议!

4

1 回答 1

1

我会考虑将此逻辑移动到自定义标签包装器中。包装器在必要时处理输出标题并在其中进行检查。你可以在我的博客上看到一个完整的例子:http ://www.raymondcamden.com/index.cfm/2011/8/26/Making-jQuery-Mobile-templates-even-easier--with-ColdFusion

于 2012-10-05T02:23:47.397 回答