Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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
Jquery 为什么不';t coldfusion变量/参数对我动态添加到DOM的内容有效吗?_Jquery_Ajax_Jquery Mobile_Coldfusion_Coldfusion 8 - Fatal编程技术网

Jquery 为什么不';t coldfusion变量/参数对我动态添加到DOM的内容有效吗?

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

我正在与Coldfusion网站斗争,我必须重新设计:

在我的Jquery Mobile/Coldfusion8网站上,用户应该能够从多个不同的页面登录(每个页面都有自己的登录表单-无法更改!)

当用户第一次进入index.cfm页面时,我运行以下命令:

 <!--- 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的内容上不可访问或未定义?如何使它们在全局范围内可用

    谢谢你的提示

  • ColdFusion对DOM一无所知,因此更简单地将其看作是返回内容,然后由浏览器加载或由javascript使用

  • 属性不是共享范围。据我所知,它甚至不是CF中的实际范围,而是约定(编辑:实际上是customtags中的范围)因此,如果您在页面之间移动,则第1页上设置的任何属性值在第2页上都不可用。您可以使用会话作用域来执行某些操作,但实际上,您只需要确保在每个请求中都会命中此if语句。执行此操作的两种主要方法是使用,另一种是让所有请求通过索引。url上带有action属性的cfm,指定要包含的代码、要命中的函数等

  • ColdFusion对DOM一无所知,因此更简单地将其看作是返回内容,然后由浏览器加载或由javascript使用

  • 属性不是共享范围。据我所知,它甚至不是CF中的实际范围,而是约定(编辑:实际上是customtags中的范围)因此,如果您在页面之间移动,则第1页上设置的任何属性值在第2页上都不可用。您可以使用会话作用域来执行某些操作,但实际上,您只需要确保在每个请求中都会命中此if语句。执行此操作的两种主要方法是使用,另一种是让所有请求通过索引。url上带有action属性的cfm,指定要包含的代码、要命中的函数等


  • 需要添加到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声明的变量。因此,在我的下一页,他们都没有申报。这是否意味着