我正在和ColdFusion一起做mySQL。我面临绑定和自动提示函数的问题。
如果只运行这个单一的文件,自动提示或绑定工作,我可以得到的结果与自动建议。
<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>然后我的问题开始发生,自动提示或绑定没有更多的功能。有些人建议我加一句
<cfajaximport tags="cfform">但它未能解决这个问题。
我发现,如果我添加a,并删除下面的代码,绑定就会正常工作。
<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>发布于 2011-05-19 14:20:40
很可能,Ajax调用被重定向到登录页面。萤火虫可以告诉你这个。它将显示Javascript中的任何错误,并且它可以显示Ajax请求的结果,这很可能是您的登录表单,而不是您期望的结果,这将是CFC方法执行的结果。
我建议您使用火虫,并更多地了解正在发生的事情。
https://stackoverflow.com/questions/6059885
复制相似问题