我正在尝试向ColdFusion页面提交查询字符串.我希望ColdFusion页面根据登录是否成功返回true或false.
单击我的登录按钮时:
function AttemptLogin(userName,password) { $.ajax({ url: 'login.cfc&user=' + userName + '&' + 'password=' + password,success: function(data) { $('.result').val(); [Check for true or false here.] } }); };
我的ColdFusion页面验证密码和用户名,并返回,但我不知道如何处理它返回的内容?我是ColdFusion的新手.
<cffunction "TryLogin" returntype="boolean"> </cffunction>
..我不确定如何在验证后从函数返回数据,但一旦返回就单独读取它.以前有人处理过这个吗?
谢谢,
乔治
解决方法
您是在提交查询字符串还是表单帖子?通常登录是POST,而不是GET.但无论如何.
我通常喜欢发布更结构化的响应,以便您可以向用户返回其他信息,如错误消息,但下面是简单的true / false示例.你可以给这个方法一个远程访问属性,如下所示:
<cfcomponent name="Login"> <cfset variables.dsn = "mydb" /> <cffunction name="tryLogin" access="remote" output="false" returntype="boolean"> <cfargument name="username" type="string" required="true"/> <cfargument name="password" type="string" required="true"/> <cfset var loginQuery = "" /> <cfquery name="loginQuery" datasource="#variables.dsn#"> SELECT * FROM users WHERE username = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.username#"/> AND password = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.password#"/> </cfquery> <cfif loginQuery.recordcount> <cfreturn true /> <cfelse> <cfreturn false /> </cfif> </cffunction> </cfcomponent>
现在您已经拥有了CFC,您的基本脚本应该可以正常工作,只需进行一些修改:
function AttemptLogin(userName,password) { $.ajax({ url: 'login.cfc',data: {method: 'tryLogin',username: userName,password: password},success: function(data) { if (data == true) { alert('true!');} else { alert('false!');} } }); };
正如另一个答案所提到的,如果你要返回一个复杂的数据类型,比如结构或数组,你需要指定一个’json’的returnFormat并修改你的数据arg,如下所示:
data: {method: 'tryLogin',returnFormat: 'json',password: password}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。