仅在映射控制器中的ajax错误请求

时间:2015-03-02 16:58:48

标签: ajax json

在我的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',

它完美无缺。我花了很多时间来解决这个问题,为什么会这样呢? (抱歉我的英文..)

1 个答案:

答案 0 :(得分:0)

问题解决了。我的控制器中有方法,它像draft / {leaguename}一样映射,当发送请求到draft / draftplayer时,它映射到第一个方法