ホームページ  >  記事  >  ウェブフロントエンド  >  Spring MVCでjsonデータをajaxに返すときにエラーを処理する方法

Spring MVCでjsonデータをajaxに返すときにエラーを処理する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-31 17:00:501655ブラウズ

今回は spring mvc で json データを ajax に返す際のエラーの対処方法を紹介します。 Spring mvc で json データを ajax に返す際の注意点 について、実践的なケースを紹介します。

最近、ajaxを使用してspring mvcからjsonデータを受け取ると、必ずparseerrorエラーが発生します。エラーソースコードは次のとおりです:

フロントエンド:

$.ajax({ 
      type: 'POST', 
      url: "groupFunctionEdit", 
      dataType: 'json', 
      contentType: "application/json", 
      data: JSON.stringify(functiondata), 
      success: function(data){ 
        alert('数据加载成功'+data.msg); 
      }, 
      error: function(xhr, type){ 
        alert('数据加载失败'); 
        console.log(type); 
      }
バックエンドコントローラー:

@RequestMapping("/groupFunctionEdit")   
  public @ResponseBody Object groupFunctionEdit(@RequestBody List<YyGroupFunction> yyGroupFunctionList) throws JsonProcessingException{ 
     
    return "success"; 
  }

データをクエリするとき、私は次の答えを見つけました:

String などの単純な型を使用してデータを受信する場合、 @RequestBody アノテーションを使用する必要はありません。

ここでは、json の依存 jar パッケージを処理するために spring mvc を使用する必要があります: jackson.databind.jar

解決策:

フロントエンドを変更する必要はなく、バックグラウンドで必要なデータをマッピングして、文字列型:

@RequestMapping("/groupFunctionEdit")   
  public @ResponseBody Object groupFunctionEdit(@RequestBody List<YyGroupFunction> yyGroupFunctionList) throws JsonProcessingException{ 
     Map<String,Object> map = new HashMap<String,Object>(); 
     map.put("msg", "success"); 
     ObjectMapper mapper = new ObjectMapper(); 
     String msg = mapper.writeValueAsString(map); 
    return msg; 
  }
フロントエンドに渡されるデータは:

{"msg":"success"}
jQueryを使用してエラーなく解析できます。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

ajaxの3レベル連携メニューバーの実装方法

ajaxデータ処理手順の詳細な説明(コード付き)

以上がSpring MVCでjsonデータをajaxに返すときにエラーを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。