当通过cfajaxproxy发出呼叫到cffunction时,变量不被传递(variable not being passed on when making a call through cfajaxproxy to a cffunction)

高性能WEB开发 IT屋
问 题
function getStateInfo(state){
  alert(state);
  var f = new funcs();
  f.setCallbackHandler(updateFormFieldStateInfo);
  f.setQueryFormat('column');
  f.qry_getLenderEvictionStateInfo(<cfoutput>#request.Lender_Id#</cfoutput>,state);
}

doesn't pass the state value to the ColdFusion function

解决方案

Here are a few observations that may help:

Is the alert() function defined in your prior code or is it being confused with javascript's alert() function? I don't believe that Coldfusion has a built in alert() function unless it's new in version 9.

A caution, not a problem, the var keyword must be defined at the very top of the function body unless you are using Coldfusion 9. Likewise, the "new" keyword is new to CF 9. I'm guessing you're on version 9 since you're using both features.

For pre-Coldfusion 9:

function getStateInfo(state){
    var f = createobject("component","functs");
    alert(state);
    ...

Don't put the tags within cfscript. You don't need the hash marks either, although they won't cause harm. Hash marks are intended for use outside of coldfusion tags (including cfscript), in the main body of the html.

This line:

 f.qry_getLenderEvictionStateInfo(<cfoutput>#request.Lender_Id#</cfoutput>,state);

Should be:

 f.qry_getLenderEvictionStateInfo(request.Lender_Id,state);

本文地址:IT屋 » variable not being passed on when making a call through cfajaxproxy to a cffunction