cfapplication stop bind / Ajax函数?

时间:2011-05-19 14:01:16

标签: mysql coldfusion

我正在用mySQL做ColdFusion。 我遇到bind和autosuggest函数的问题。

如果只运行这个单个文件,autosuggest或bind正在运行,我可以通过autosuggest获得结果。

<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之后,请以

开头
<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>

然后我的问题开始发生,autosuggest或bind没有更多的功能。 有些人建议我加入

<cfajaximport tags="cfform">

但它未能解决问题。


我发现,如果我添加一个,并删除下面的代码,绑定正在运行。

<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

<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>

1 个答案:

答案 0 :(得分:2)

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

我建议您使用Firebug并了解更多有关正在发生的事情。