0

EXt-JS 4 を使用する Web アプリケーション (サーバー側の Struts 2) がcontent-type: application/json;で ajax リクエストを行う場合のサードパーティ サーバー。charset=utf-8 Web サーバーは、ページが見つかりません http 404/403 ステータス コードを返します。しかし、ブラウザーの URL バーを介してプレーン テキスト/html で同じ要求を行うと、応答が受信されます。何が問題になるでしょう。

異なるコンテンツタイプで送信してリクエストをシミュレートする方法はありますか、私は以下のhtmlフォームを試しましたが、コンテンツタイプのみを送信します:application/x-www-form-urlencoded

<html>
<body>
<form action="http://abc.com/abc?" method="post" enctype="application/json; charset=utf-8">

<input type='submit'/>
</form>
</body>
</html>

サーバーまたは tomcat は、特定のコンテンツ タイプだけを制限できますか?

<action name="abc" class="com.stutzen.rhs.abc.Abc" method="abc">
        <interceptor-ref name="json">
            <!--param name="contentType">application/json</param-->
        </interceptor-ref>
        <result type="json">
            <param name="excludeProperties">
                data,model
            </param>
        </result>
    </action>
4

1 に答える 1

1

Ext.Ajax.request でリクエストを行うときに、Ext 側で任意のヘッダーを設定できます。

Ext.Ajax.request({
    url: '/foo',
    headers: {
        'Content-Type': 'text/html'
    }
});

ただし、真の解決策というよりもハックのように見えます。サーバーが何を期待しているかを調べ、それに応じて続行する必要があります。

于 2012-08-11T18:30:25.183 に答える