0

这是 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"

4

2 回答 2

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>
于 2012-07-17T05:09:53.290 回答
0

尝试替换这个:<cffunction name="chkUsername"returnformat="json" output="false">

有了这个:<cffunction name="chkUsername" returnformat="json" output="false">

于 2012-07-16T09:01:04.487 回答