首頁  >  文章  >  web前端  >  在spring mvc 回傳json資料到ajax報錯應該如何處理

在spring mvc 回傳json資料到ajax報錯應該如何處理

php中世界最好的语言
php中世界最好的语言原創
2018-03-31 17:00:501585瀏覽

這次帶給大家在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); 
      }

後台Controller:

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

查詢資料發現有如下解答:

當使用簡單類型即:String這樣的類型來接收資料時,不需要使用@RequestBody這個註解。

這裡需要使用spring mvc處理json的依賴jar套件:jackson.databind.jar

#解決方案:

前端不用修改,在後台將需要的資料進行map封裝再轉換成String類型:

@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中文網其它相關文章!

推薦閱讀:

ajax的三級連動功能表列如何實現

ajax資料處理步驟詳解(附程式碼)

以上是在spring mvc 回傳json資料到ajax報錯應該如何處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn