2014-11-16 70 views
0

我有一個數組來自UI但我用JSON.strignify()來發送它,有沒有什麼辦法來解析它的字符串?解析從UI發送到java數組中的字符串

我的JavaScript功能:

function chooseChair() { 
     var chairNum = []; 
     $('.check:checked').each(function() { 
      chairNum.push($(this).val()); 
     }) 
     var busId = $('.checkId').val(); 
     var chairNumber = JSON.stringify(chairNum); 
     alert(chairNum); 
     alert(busId); 
     $.ajax({ 
      type : "POST", 
      url : "http://localhost:8080/spr-data/searchChair", 
      data : { 
       chairNumber : chairNum, 
       busId : busId 
      } 
     }).done(function(data) { 
      alert(JSON.stringify(data)); 
     }) 
    } 

我的控制器:

​​

和的System.out.println(chairNum [I]);給出這個:[「3」 「6」 「9」]我如何刪除括號?

回答

0
更好

你只是把你的對象到服務器要做到這一點,你應該把你的名單在另一個對象(我使用一個內部類),還記得使用RequestBody代替RequestParam

在服務器端

... 
@RequestMapping(value = "/searchChair", method = RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE) 
     public @ResponseBody 
     List<Chair> findChair(@RequestBody Reserv reserv) { 
      List<String> chairNumber = reserv.getChairNumebers(); 
      int busId = reserv.getBusId(); 
      System.out.println("ChairNUMBER!!!!!!!!!" + chairNumber); 
      List<Chair> chair = chairService.chairsFind(chairNumber, busId); 
      System.out.println("HERE" + chair); 
      return chair; 
     } 
    ... 
     private class Reserv{ 
      int busId; 
      List<String> chairNumber; 
      //getter setters 
     } 

在客戶端,你應該把你的數組中的一個新的json對象

function chooseChair() { 
      var chairNum = []; 
      $('.check:checked').each(function() { 
       chairNum.push($(this).val()); 
      }) 
      var busId = $('.checkId').val(); 
      var reserv = { 
          chairNumber: chairNum, 
          busId : busId 
         } 
      alert(chairNum); 
      alert(busId); 
      $.ajax({ 
       type : "POST", 
       url : "http://localhost:8080/spr-data/searchChair", 
       data : reserv 
      }).done(function(data) { 
       alert(JSON.stringify(data)); 
      }) 
     } 
+0

這是行不通的描述是:描述服務器拒絕,因爲請求該請求實體的格式不被所請求方法的請求資源支持。 – Nazila