2016-10-19 24 views
0

在我的Java應用程序。我試圖通過ajax的xmlhttp post請求發佈更多的兩個javascript變量,但它返回錯誤400.通常,如果我註釋掉其中一個post變量,那麼它會成功發佈,但添加它後會拋出錯誤。這是我的嘗試:試圖通過xmlhttprequest的ajax發佈多個變量到控制器

function sendChat() { 
     var message = document.getElementById('new-input').value.trim(); 
     var noteVal = "mp3", 
       xhr = new XMLHttpRequest(); 

     .... 

     alert(noteVal); 
     xhr.send(encodeURI('message=' + message)); 
     xhr.send(encodeURI('noteVal=' + noteVal)); //if I comment this out then everything is fine 
    } 

這是彈簧控制器接收後的參數

@ResponseBody 
    @RequestMapping(value = "/post-data", method = RequestMethod.POST) 
    public ModelAndView postData(HttpServletRequest request, 
          HttpServletResponse response, 
          @RequestParam String message, 
          @RequestParam String noteVal, 

請我怎樣才能通過XMLHttpRequest

回答

1

您可以發佈多個變量來控制方法只發送一次,所以你發送兩個值

xhr.send('message=' + encodeURI(message) + '&noteVal=' + encodeURI(noteVal)); 

or send formDa ta

var data = new FormData(); 
data.append('message', message); 
data.append('noteVal', noteVal); 

xhr.send(data); 
相關問題