0

これは、cfc ファイルの chkUsername を呼び出している ColdFusion index.cfm の jquery コードです。

<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 に答える