1

Spring MVC(3.0.2)を使用するExtjs(4.1)アプリケーションがあります。フォームの1つに、ファイルフィールドがあります。フォームがIE8で送信された場合、成功/失敗のコールバックはヒットしません。アプリはFF、Chrome、IE9で正しく動作します。今日、IE8の応答Content-Typeがapplication/x-ms-applicationに等しいことに気づきました。IE9の場合はtext/htmlです。SpringControllerからjsonを返します。

これは既知の問題ですか、それとも設定する必要のあるSpring構成オプションがありますか?私は春が初めてです。Senchaフォーラムの同じ質問へのリンクは次のとおりです:extjs4.1フォーラム。クライアントはIE8を使用する必要があるので、助けていただければ幸いです。

投稿できる動作を示すサンプルアプリケーションを作成しました。

ありがとうございました。

4

2 に答える 2

1

あなたは正しかった。「text/html」の Content-Type を明示的に返すように、Spring MVC コントローラー クラスを更新しました。

元のコード:

    public @ResponseBody String importData(@RequestParam String groupName, @RequestParam String processType,
                @RequestParam CommonsMultipartFile spreadsheet) throws Exception
{

.
.
.
     return "{success:true}";
}

更新されたコード:

    public void importData(@RequestParam String groupName, 
                @RequestParam String processType,
                FileUploadBean uploadItem, 
                BindingResult result, 
                HttpServletResponse response) throws Exception
{
.
.
.
            // return data
            response.setContentType("text/html");
            response.getWriter().write("{success:true}");
            response.flushBuffer();
            return;
        }
于 2012-06-29T18:35:50.590 に答える
0

必要なことは、Spring コントローラーで明示的に応答コンテンツ タイプを設定することです。こんな感じ: response.setContentType("text/html")

説明については、このドキュメントを参照してください: (非表示の IFrame について:)

于 2012-06-28T20:57:18.827 に答える