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

这就是您getRecordsmyTest.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 回答