0

私の spring3.1 mvc サーバーは add によって正しい json 結果を返すことができますが、Spring@ResponseBody設定ファイルに問題はありません。含まれる servlet.xml

<mvc:annotation-driven/>

ジャクソンジャーをクラスパスに入れました。

また、私の html ファイルでは、.ajaxSetup() メソッドで contentType を 'application/json" に設定しています。また、投稿ヘッダーが Firebug で正しいことがわかります。

また、JSON.stringify メソッドを呼び出すために json2.js をインクルードしようとしました。

json 形式のサンプル:

{"link":"http:xxxxx","ticker":"xxxxx"}

responseBody クラスはドキュメントです。

public class Document implements Serializable{
   public String getLink(){...}
   public String setLink(String link){...}
   public String getTicker(){...}
   public String setTicker(String ticker){...}
}

コントローラーコード:

public class LoadFile  {                                                                                                                                                                                                                                                                                                                                                                         

    @RequestMapping(value="/loadFile",method=RequestMethod.POST)                                                                                                                                                  
    public @ResponseBody Document loadFile(@RequestBody Document document){ 
        ...
    }
}

HTML コード:

$(function() {                                                                                                                                                                                                   
    $.ajaxSetup({                                                                                                                                                                                               
        contentType:"application/json;charset=utf-8" 
    });                                                                                                                                                       
    $.post( url, { link: link, ticker:ticker },                                                                                                                                            
        function( data ) {  
           ....
        },"json"
    );
}

ドキュメント クラスを追加すると json オブジェクトとして返すことができます@ResponseBodyが、 として@RequestBody返すと、サーバーは 400 エラーを返します。何が起こるかわからない。

4

2 に答える 2

0

最近、同様の問題が発生しました。私にとっては、変数名の周りに "" を追加していたため、400 エラーが発生しました。次のようにしてみてください。

{link:"http:xxxxx",ticker:"xxxxx"}

また、Spring3.1 がデータを処理する方法に応じて、変数がデータベースに対応していることを確認してください。(例: 正しい順序で)

お役に立てば幸いです。

于 2012-10-16T17:45:19.017 に答える
0

@RequestBodyで置き換える@ModelAttribute

于 2012-10-16T19:01:25.693 に答える