2017-08-30 30 views
7

從JavaScript調用的時候我開始這個問題時,我安裝了ColdFusion 2016更新4CFC功能不接收參數通過cfajaxproxy

HTML:

<input type='button' name='btn' value='Click me' onclick='proxyFunc();'> 

代理:

<cfajaxproxy cfc='proxy' jsClassName="jsProxyClass" > 

的Javascript :

proxyFunc = function() { 
    var proxyObj = new jsProxyClass(); 
    proxyObj.setHTTPMethod("post"); 
    proxyObj.setCallbackHandler (function (result) { 
     console.log(result); 
    }); 
    proxyObj.func('X'); 
} 

CFC:

<cffunction name='func' access='remote' returntype='string' > 
    <cfargument name='arg' type='string' required='false' > 

    <cfreturn 'What is my arg? ' & arguments.arg> 
</cffunction> 

我將在我的CFC一個斷點,發現arguments.arg是空白 我有form.argumentcollection = { 「ARG」: 「X」}

如果我如我所料,將setHTTPMethod從「post」改爲「get」,arguments.arg =「X」。

我有很多這方面的CF更新前已經工作正常的代碼,現在是提前全部碎裂:(

任何幫助,將不勝感激。謝謝。

+2

如果你做'proxyObj.func({'arg':'X'});'?無論哪種方式,CF的JS/AJAX的東西總是要求麻煩。如果它在更新3中工作並在更新4中更改,則可能是一個錯誤,請考慮將其報告給Adobe。 – Alex

+0

當代碼行'proxyObj.setHTTPMethod(「post」);'i s評論說,它的工作原理應該如此;但使用「GET」請求。 –

+1

@Alex我嘗試過'proxyObj.func({'arg':'X'});'和arguments.arg仍然是空白的,但是form.argumentcollection = {「arg」:{「arg」:「X」}} 我會繼續向Adobe報告。 –

回答