0

angularjs代码:

$http({
    method: 'POST',
    url:'/hello/rest/user/test',
    data: {user: 'aaaaa'}
});

服务器代码:

@POST
@Path("/test")
public Response merge(@Context HttpServletRequest request) {
    System.out.println(request.getParameter("user"));
    if (request.getParameter("user") == null) {
        return Response.status(Status.BAD_REQUEST).build();
    }
    return Response.ok().build();
}

request.getParameter("user") 为空。我无法通过这种方式修改参数。

4

2 回答 2

1

如果要使用请求参数,则需要将数据传递为

$http.post('/hello/rest/user/test', {
    user : 'aaaaa'
    }, {
        headers : {
            "Content-Type" : 'application/x-www-form-urlencoded;charset=utf-8'
        },
        transformRequest : [function(data) {
            return angular.isObject(data)
                    ? jQuery.param(data)
                    : data;
        }]
    });

另请阅读此问题

于 2013-04-26T02:41:10.860 回答
0

您需要查看正文而不是 post 参数...

您可能没有收到 POST 参数。

您收到的正文类似于 {"user":"aaaaa"} 并且您需要解析该 JSON 响应。

于 2013-04-25T14:54:30.167 回答