2

次の問題があります。

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 に変更することはできません)。

たぶん、変更された、または同様の設定があった...

4

2 に答える 2

1

解決策は見つかりました。Apache サーバーに問題がありました。POST データはすべて、coldfusion に転送される前に失われたため、FORM 変数は常に空でした。

構成を修正した後(どうすればよいかわかりません...)、問題は解決しました。

于 2013-10-22T09:51:05.243 に答える
0

IIS を使用していますが、ajax 呼び出しなどで問題なく動作します。APACHE の問題は何ですか?

于 2013-10-22T16:45:59.127 に答える