首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cfapplication停止绑定/Ajax函数?

cfapplication停止绑定/Ajax函数?
EN

Stack Overflow用户
提问于 2011-05-19 14:01:15
回答 1查看 138关注 0票数 0

我正在和ColdFusion一起做mySQL。我面临绑定和自动提示函数的问题。

如果只运行这个单一的文件,自动提示或绑定工作,我可以得到的结果与自动建议。

代码语言:javascript
复制
<cfinput type="text"
name="Name"
maxlength="100"
size="30"
required="yes"                          
message="Restaurant name is required!"
 validateAt="onSubmit, onServer" autosuggest="cfc:Restaurants.LookupRestaurant({cfautosuggestvalue})">

但是在我添加了一个application.cfm之后,从

代码语言:javascript
复制
<cfapplication name="cfcentral" 
               sessionmanagement="true"
               sessiontimeout="#CreateTimeSpan(0,0,30,0)#"
               />
  <cfset application.dsname="suman">
  <cfset request.dsname="suman">
  <cfset session.profile=StructNew()>

 <cfif IsDefined("Form.logout")>
  <cflogout>
 </cfif>

 <cflogin>
  <cfif NOT IsDefined("cflogin")>
   <cfinclude template="loginform.cfm">
   <cfabort>

然后我的问题开始发生,自动提示或绑定没有更多的功能。有些人建议我加一句

代码语言:javascript
复制
<cfajaximport tags="cfform">

但它未能解决这个问题。

我发现,如果我添加a,并删除下面的代码,绑定就会正常工作。

代码语言:javascript
复制
<cfoutput query="loginQuery">
   <cfform action="#CGI.script_name#?#CGI.query_string#"  name="test">
    <a href="##">#First_Name# #Last_Name#</a>
<input type="submit" Name="Logout" value="Logout">

但上面的代码对我很重要。有人知道这个解决方案可以完美地与上面的代码一起工作吗?

这是我的原版application.cfm

代码语言:javascript
复制
<cfapplication name="cfcentral"
       sessionmanagement="true"
       sessiontimeout="#CreateTimeSpan(0,0,30,0)#"
       />

  <cfset application.dsname="suman">
  <cfset request.dsname="suman">
  <cfset session.profile=StructNew()>
<cfif IsDefined("Form.logout")>
  <cflogout>
</cfif>
<cflogin>
  <cfif NOT IsDefined("cflogin")>
   <cfinclude template="loginform.cfm">
   <cfabort>
  <cfelse>
   <cfif cflogin.name IS "" OR cflogin.password IS "">
    <cfoutput>
  <h2>You must enter text in both the User Name and Password fields.     </h2>
    </cfoutput>
    <cfinclude template="loginform.cfm">
    <cfabort>
   <cfelse>
    <cfquery name="loginQuery" dataSource="Reservation">
    SELECT *
    FROM User_Customer
    WHERE
  Email = '#cflogin.name#'
  AND Password = '#cflogin.password#'
    </cfquery>
    <cfif loginQuery.User_Customer_ID NEQ "">
  <cfloginuser name="#cflogin.name#" Password = "#cflogin.password#"
   roles="#loginQuery.User_Customer_ID#">
    <cfelse>
  <cfoutput>
   <H2>Your login information is not valid.<br>
   Please Try again</H2>
  </cfoutput>
  <cfinclude template="loginform.cfm">
  <cfabort>
    </cfif>
   </cfif>
  </cfif>
</cflogin>
<cfif GetAuthUser() NEQ "">
  <cfquery name="loginQuery" dataSource="Reservation">
   SELECT *
    FROM User_Customer
    WHERE Email = '#GetAuthUser()#'
    </cfquery>
<cfoutput query="loginQuery">
  <cfform action="#CGI.script_name#?#CGI.query_string#"  name="test">
    <a href="##">#First_Name# #Last_Name#</a>
<input type="submit" Name="Logout" value="Logout">
   </cfform>
  </cfoutput>
</cfif>
EN

回答 1

Stack Overflow用户

发布于 2011-05-19 14:20:40

很可能,Ajax调用被重定向到登录页面。萤火虫可以告诉你这个。它将显示Javascript中的任何错误,并且它可以显示Ajax请求的结果,这很可能是您的登录表单,而不是您期望的结果,这将是CFC方法执行的结果。

我建议您使用火虫,并更多地了解正在发生的事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6059885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档