jQuery ajax 傳遞JSON數組到Spring Controller

來源:互聯網
上載者:User

標籤:arrays   hashmap   size   擷取   cts   datagrid   man   job   files   

     jQuery ajax傳遞單個JSON對象到後台很容易,這裡記錄的是傳遞多個JSON對象組成的JSON數組到java 後台,並說明java如何解析JSON數組。

    1、js代碼

 var relationArrays=new Array();
  //擷取所有組的人員資訊grid資料
  var allGrid= $(".userGrid");
  for(var i=0;i<allGrid.length;i++){
    var rows=$(allGrid[i]).datagrid("getRows");
    $.each(rows,function(i,item){
     relationArrays.push(item);
    })
   }
  
   $.ajax({
  type : "POST",
  url : ‘../projectController/addRelations‘,
  data:{"params":JSON.stringify(relationArrays)},
  dataType : ‘json‘,
  cache : false,
  success : function(data) {
   alert(data.msg);
  }
 });

 

2、java代碼

  @RequestMapping("/addRelations")
    public void addRelations(HttpServletRequest request,HttpServletResponse response, HttpSession session) {
     String jsonStr = request.getParameter("params");
     //儲存需要insert的項目個人關係資訊
     List<ProjectRelation> relationList=new ArrayList<ProjectRelation>();
  
     ProjectRelation relation=null;
     JSONArray jsonArray = JsonUtil.parseArray(jsonStr);
        for(Object ob : jsonArray){
            JSONObject jObject = (JSONObject) ob;
                relation=new ProjectRelation();
                relation.setProjectId(pId);
                relation.setChargemanId(jObject.getInteger("chargemanId"));
                relation.setGroupId(jObject.getInteger("groupId"));
                relation.setUserId(jObject.getInteger("userId"));
                relation.setProjectRole(jObject.getInteger("projectRole"));
                relationList.add(relation);
          }
     //先查詢項目中所有已有人員資訊,
     int result=projectServiceImpl.saveProjectRelations(relationList);
 
     HashMap<String, Object> map = new HashMap<String, Object>();
        try {
            if(result==jsonArray.size()){
                map.put("msg", "關聯資訊添加成功");
            }
            else {
                map.put("msg", "關聯資訊添加錯誤");
            }
            WriteJsonUtil.writejson(map, response);
        } catch (Exception e) {
            e.printStackTrace();
            map.put("msg", "關聯資訊添加錯誤");
            WriteJsonUtil.writejson(map, response);
        }
    }

 

3、JSONUtil代碼

   public static JSONArray parseArray(String text){
        JSONArray jsonArray=JSON.parseArray(text);
       
        return jsonArray;
    }

 

具體JsonUtil代碼請從該連結下載http://files.cnblogs.com/files/DylanZ/JsonUtil.rar

jQuery ajax 傳遞JSON數組到Spring Controller

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.