次の問題があります。
AJAX から呼び出された CFC メソッドは、要求を実行する代わりに、要求を cfcexplorer に突然リダイレクトします。奇妙なことに、この問題は、次のように「POST」メソッドを介して ajax 呼び出しを行う場合にのみ発生します。
// This will return the HTTP Status header:
// Location: http://url.to:80/CFIDE/componentutils/cfcexplorer.cfc?method=getcfcinhtml&name=web.ajax&path=/web/ajax.cfc
$.post(
"http://url.to/ajax.cfc",
{method: "test"},
function(res) { alert("ajax.cfc POST return:" + res); }
);
「GET」リクエストと同じリクエストを行うと、完全に機能します。
// This will call the method "test" of web/ajax.cfc
$.get(
"http://url.to/ajax.cfc",
{method: "test"},
function(res) { alert("ajax.cfc GET return:" + res); }
);
これは ajax.cfc ファイル (ダミー ファイル) です。
<cfcomponent>
<cffunction name="test" access="remote" returntype="Any" returnformat="JSON">
<cfset j = {}>
<cfset j.data = "this is the data">
<cfreturn serializeJson(j)>
</cffunction>
</cfcomponent>
私たちを本当に困惑させているのは、リクエストが過去に機能していたことです(フォームデータが存在することを期待する POST および CF コードを介して ajax 呼び出しを行う多くのコードがあるため、単純にメソッドを GET に変更することはできません)。
たぶん、変更された、または同様の設定があった...