1

.cfc ページを呼び出す関数があります。ページ名とともにメソッドとパラメーターを渡しています。これが私のコードです:

function callFunction(name){
    param = name;

    location.href = 'myTest.cfc?method=getRecords&userName=' + param;
}

これが私のcfcページのcffunctionです:

<cfcomponent>
    <cffunction name="getRecords" access="remote" returnformat="void">
        <cfargument name="userName" type="string" required="yes">

        <cfset myResult = "1">

        <cftry>
            <cfquery name="getResults" datasource="test">
                //myQuery
            </cfquery>

            <cfcatch>
                <cfoutput>#cfcatch#</cfoutput>
                <cfset myResult="0">
            </cfcatch>
        </cftry>
        <cfreturn myResult>
    </cffunction>
</cfcomponent>

関数を呼び出した後、コードから戻り変数が返されません。コードに何が欠けているのかわかりません。誰かがこの問題を解決できる場合は、私に知らせてください。

4

2 に答える 2

3

質問の意味がよくわかりませんが、これをお探しですか?

function callFunction(name) {
  var target = 'myTest.cfc?method=getRecords&userName=' + name;

  location.href = target;

  return target;
}
于 2016-09-23T16:14:52.017 に答える
2

これは、コンポーネントgetRecordsから結果を取得する方法です。myTest.cfc

var xhr = new XMLHttpRequest();
xhr.open('GET', 'myTest.cfc?method=getRecords&userName='+name);
xhr.send(null);

xhr.onreadystatechange = function () {
  var DONE = 4; // readyState 4 means the request is done.
  var OK = 200; // status 200 is a successful return.
  if (xhr.readyState === DONE) {
    if (xhr.status === OK) 
      var result = xhr.responseText; // 'This is the returned text.'
      //result will = 1 or 0.
    } else {
      console.log('Error: ' + xhr.status); // An error occurred during the request.
    }
  }
};
于 2016-09-23T16:27:20.083 に答える