Jquery 为什么不';t coldfusion变量/参数对我动态添加到DOM的内容有效吗?
我正在与Coldfusion网站斗争,我必须重新设计: 在我的Jquery Mobile/Coldfusion8网站上,用户应该能够从多个不同的页面登录(每个页面都有自己的登录表单-无法更改!) 当用户第一次进入index.cfm页面时,我运行以下命令:Jquery 为什么不';t coldfusion变量/参数对我动态添加到DOM的内容有效吗?,jquery,ajax,jquery-mobile,coldfusion,coldfusion-8,Jquery,Ajax,Jquery Mobile,Coldfusion,Coldfusion 8,我正在与Coldfusion网站斗争,我必须重新设计: 在我的Jquery Mobile/Coldfusion8网站上,用户应该能够从多个不同的页面登录(每个页面都有自己的登录表单-无法更改!) 当用户第一次进入index.cfm页面时,我运行以下命令: <!--- SESSION handler ---> <cfif Session.loggedIn EQ "No"> <CFPARAM NAME="Attributes.Datasource
<!--- SESSION handler --->
<cfif Session.loggedIn EQ "No">
<CFPARAM NAME="Attributes.Datasource">
<CFPARAM NAME="Attributes.AdditionalText" DEFAULT="">
...
<CFSET aform = "#CGI.SCRIPT_NAME#">
</cfif>
...
它是登录例程的一部分,设置所有参数和变量。我没有出错,所以一切都必须正常。该页面包括一个列表,其中一项为:
<li>#Attributes.AdditonalText"</li>
#属性.附加文本”
及登记表:
<CFFORM ACTION="#aform#" NAME="LoginForm">
另外,当没有定义会话时,我将重定向到index.cfm,这样所有用户都将到达该页面并获得他们的会话
问题当用户从index.cfm转到下一页时,Jquery Mobile会将此页添加到DOM(!)。但是在index.cfm上有效的相同参数/变量现在会产生错误(两者都未定义) 我不明白这一点。难道Coldfusion的参数/变量不是可以在DOM范围内访问的吗,所以我通过Ajax动态添加的任何东西,包括对这些参数/变量的引用,都可以工作吗 我有点不知所措了。Coldfusion的新手也是 如果我的index.cfm中有此文本 这是#attributes.additionalText# 这是可行的,但是如果我在第二个文件中有相同的代码片段,它被附加到DOM中,那么 完全相同的代码段返回#属性。AdditionalText#未定义 问题:
为什么我的变量和属性在动态添加到DOM的内容上不可访问或未定义?如何使它们在全局范围内可用 谢谢你的提示
需要添加到DOM中的任何内容都可以通过使用ColdFusion写出jQuery来填充呈现页面时所需的任何DOM对象。或者,您可以创建一个对ColdFusion CFC的Ajax服务调用,该调用设置为直接接受传入的http调用,并返回JSON中所需的任何值 下面简单介绍如何采用第二种方法:
需要添加到DOM中的任何内容都可以通过使用ColdFusion写出jQuery来填充呈现页面时所需的任何DOM对象。或者,您可以创建一个对ColdFusion CFC的Ajax服务调用,该调用被设置为直接接受传入的http调用并返回JSON中所需的任何值 下面简单介绍如何采用第二种方法:
Coldfusion->serverside,它及其变量不了解DOM。如果构建页面需要这些变量,则在构建页面时它们必须存在。在不同请求中设置这些变量不会影响DOM,除非您返回新的html添加到DOM中。谢谢。澄清了这一点它的变量不了解DOM。如果构建页面需要这些变量,那么在构建页面时它们必须存在。在不同的请求中设置这些变量不会影响DOM,除非您返回新的html以添加到DOM中。谢谢。澄清了一些信息。如果我从未真正离开p,这也是真的吗第1页和第2页只附加到第1页的末尾?假设我在第1页有一个包含20个项目的列表,最后一个项目使用CFPARAM值。如果我现在再添加20个项目,最后一个项目也有CFPARAM,我是否需要重新声明,当我从未真正离开第1页时?@频繁离开页面与coldfusion无关,您发送给coldfusion的每个请求都与coldfusion无关sion被视为单个请求,它不知道以前的请求或当前页面上的内容“。对于coldfusion,每次您从服务器请求某些内容时,它都是一个新页面。不过,您可以使用请求之间共享的作用域,例如
会话
@danroberts-我发现了问题所在。我要重做的站点使用了自定义CF标记名。。。CF_index param1=“some”,param2=“thing”>和inside index.cfm将它们声明为application.param1=“some”,application.param2=“thing”。根据我的基本理解,这些变量既不是会话变量也不是应用程序变量,而是仅为index.cfm声明的变量。因此,在我的下一页,他们都没有申报。这是否意味着