在我的spring mvc项目中,我有2个控制器,其中一个映射如下:
@Controller()
@RequestMapping("/draft")
我正试图从ajax发送一些数据:
$.ajax({
type : 'get',
url : 'http://localhost:8080/FootballManager/draft/draftplayer',
dataType : "json",
data : {
'playerID' : playerID,
'username' : username,
'leaguename' : leaguename
},
response : 'text',
success : function(data) {
if (data == 1) {
alert("player drafted");
} else {
alert("player not drafted");
}
},
error : function(XmlHttpRequest, textStatus, errorThrown) {
_requesComplete = true;
alert("error= " + errorThrown);
}
和控制器中的方法:
@RequestMapping(value="/draftplayer",method = RequestMethod.GET)
public @ResponseBody
String draftPlayer(@RequestParam("playerID") int playerID,
@RequestParam("username") String username, @RequestParam("leaguename") String leaguename,HttpSession session) {
try {
...
return "1";
} catch (Exception e) {
return "0";
}
}
我总是得到Bad Request,但是如果我把这个方法放到另一个控制器中,它在类引用中没有@RequestMapping注释,并且将url更改为
url : 'http://localhost:8080/FootballManager/draftplayer',
它完美无缺。我花了很多时间来解决这个问题,为什么会这样呢? (抱歉我的英文..)
答案 0 :(得分:0)
问题解决了。我的控制器中有方法,它像draft / {leaguename}一样映射,当发送请求到draft / draftplayer时,它映射到第一个方法