这是ColdFusion index.cfm中的jquery代码,它调用cfc文件的chkUsername。
<script type="text/javascript">
chkUsernameUnique = function(theUsername){
$.getJSON("selectuser.cfc", {
method: 'chkUsername',
Username: theUsername,
returnformat: 'json'
}, function(isUsernameUnique){
if (isUsernameUnique == true) {
$("#theErrorDivID").html('Username is unique');
}
else {
$("#theErrorDivID").html('Please select a new username');
}
});
};
</script>
这是我从cfm文件中调用的组件。
<cfcomponent>
<cffunction name="chkUsername" returnformat="json" output="false">
<cfargument name="username" required="true">
<cfquery name="chkUsername" datasource="myDataSource">
SELECT ID FROM employees_login WHERE username = <cfqueryparam value="#arguments.username#" cfsqltype="cf_sql_varchar" />
</cfquery>
<cfreturn yesNoFormat(chkUsername.recordCount) />
</cffunction>
</cfcomponent>
什么都没有显示出来。 我试图检查火灾错误,我收到此错误 -
"NetworkError: 500 Internal Server Error:http://localhost:8500/workspace/UniqueUsername/selectuser.cfc?method=chkUsername&Username=admin&returnformat=json"
答案 0 :(得分:2)
我很长时间都在努力。 最后我得到了答案。你需要在cffunction标签中写入access =“remote”,如下所示 -
<cfcomponent>
<cffunction name="chkUsername" returnformat="json" access="remote" output="false">
<cfargument name="username" required="true">
<cfquery name="chkUsername" datasource="myDataSource">
SELECT ID FROM employees_login WHERE username = <cfqueryparam value="#arguments.username#" cfsqltype="cf_sql_varchar" />
</cfquery>
<cfreturn yesNoFormat(chkUsername.recordCount) />
</cffunction>
</cfcomponent>
答案 1 :(得分:0)
尝试将其替换为:<cffunction name="chkUsername"returnformat="json" output="false">
:<cffunction name="chkUsername" returnformat="json" output="false">