2013-06-18 50 views
0

在我的js文件中,我有一個Ext.Ajax.request從表中刪除用戶。最重要的是發送用戶名。這是我的請求代碼:如何在Spring MVC中從POST獲取參數?

Ext.Ajax.request({ 
    url: 'deleteUser.html', 
    method: 'POST',   
    headers: {'Content-Type': 'text/html'}, 
    waitTitle: 'Connecting', 
    waitMsg: 'Sending data...',          
    params: { 
     username:username 
    }, 
    scope:this, 
    success: received,          
    failure: function(){console.log('failure');} 
}); 

在螢火蟲中,我可以看到帖子myapp/admin/deleteUser.html。在帖子標籤中出現username = example。

在服務器端我有一個控制器,其抓柱:

@RequestMapping(method=RequestMethod.POST, value="/deleteUser") 
public @ResponseBody Map<String,String> deleteUserHandler(@RequestParam("username")String username, Model model){ 
    userService.deleteUser(username); 
    Map<String,String> responseMap = new HashMap<String, String>(); 
    responseMap.put("message", "Success"); 
    return responseMap; 
} 

如果我有@RequestParam(「用戶名」)1接收一400錯誤(不正確的請求)和,如果我嘗試另一方式得到params我得到null。

有人可以幫我嗎?

回答

0
In the firebug i can see the post myapp/admin/deleteRole.html. 
In the post tab appears username=example. 

你說你能看到網絡調用deleteRole.html

但在你的Ajax和您的控制器應該叫「/ deleteUser」

如何,如果你登錄你的控制器東西,所以我們可以判斷,如果該功能已被調用。你的HTML之間

首先嚐試連接映射到您的正常工作

@RequestMapping(method=RequestMethod.POST, value="/deleteUser") 
public @ResponseBody String deleteUserHandler(@RequestParam("username") String username){ 
    System.out.println("deleteUserHandler called"); 
    return "{\"message\" : \"success\"}"; 
} 

如果你的函數調用它應該是確定..

+0

這是我的解釋是錯誤的。它已更正 – mannuk

+0

我已更新我的答案 –