2017-02-25 28 views
0

我有一個帶有菜單的頁面。菜單上的每個按鈕都是帶有特定URL的空白表單。沒有刷新的Spring MVC帖子頁面

<form method="post" class="menu-form vote" action="/waiter/order/2/menu?product=Crown%20Royale"> 
           <button type="submit" class="btn btn-success btn-lg">Crown Royale</button> 
          </form> 
          <form method="post" class="menu-form vote" action="/waiter/order/2/menu?product=Glenkinchie"> 
           <button type="submit" class="btn btn-success btn-lg">Glenkinchie</button> 
          </form> 

它的工作原理。按下請求會發送到控制器並存儲在數據庫中。

@RequestMapping(value = "waiter/order/{id}/menu", method = RequestMethod.POST) 
public void addoToOrder(@PathVariable("id") long id, 
            @RequestParam("product") String product) { 
    orderDetailService.addOrderDetail(id, product); 
} 

我需要使每頁按下後不重新加載頁面。 我試過的東西在相似的

<script type="text/javascript"> 
$(function() { 

    $('.vote').on('submit', function() { 
     return false; 
    }); 

}); 

但沒有奏效。請求來了,但頁面變白了。

回答

0

您可以發送ajax請求,以便頁面不會刷新。您已經包含jQuery,因此您可以使用$.post$.ajax方法。

取出形式,並添加onclick到按鈕,而不是像這樣:

<button class="btn btn-success btn-lg" onclick="$.post('/waiter/order/2/menu?product=Crown%20Royale')">Crown Royale</button> 
<button class="btn btn-success btn-lg" onclick="$.post('/waiter/order/2/menu?product=Glenkinchie')">Glenkinchie</button>