在我的js文件中,我有一个Ext.Ajax.request来从表中删除用户。最重要的是发送用户名。这是我的请求代码:
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(“用户名”)我收到400错误(不正确的请求),如果我尝试另一种方式来获取params我得到null。
有人可以帮帮我吗?
答案 0 :(得分: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\"}";
}
如果您的函数调用它应该没问题。