vue-resource和springmvc 交互 404怎么解决?

spring mvc 中有这样一个方法

@RequestMapping(value = "/getMenuList")
@ResponseBody
public List getMenuList(@RequestBody HashMap user) {
    user.put("cous", new ArrayList<HashMap>());
    this.iUserService.getMenuList(user);
    List<HashMap> menus = (List<HashMap>) user.get("cous");
    List<HashMap> resultMenus = new ArrayList<>();
    packMenus(resultMenus,null,menus,null);
    return resultMenus;
}

通过vue-resource调用

        this.$http.jsonp('http://192.168.0.103:8080/cqpt/user/getMenuList',{miperson:1,mimenup:1}).then(function(response) {
            // 这里是处理正确的回调
            console.log("ok")
            // this.articles = response.data["subjects"] 也可以

        }, function(response) {
            // 这里是处理错误的回调
            console.log("error")
        });

错误码:
Failed to load resource: the server responded with a status of 400 (Bad Request)

如果是这样的无参的请求就没问题

@RequestMapping(value = "/test")
@ResponseBody
public List test(){
    System.out.print("");
    return null;
}
阅读 3.2k
1 个回答

400 表示前端提供的数据格式和后台需要的数据格式不一样

@RequestBody需要把所有请求参数作为json解析,因此,不能包含key=value这样的写法在请求url中,所有的请求参数都是一个json

一句话:你使用 vue-resource 发送 jsonp 请求的数据格式不是 @RequestBody 需要的


给个链接看看

补贴一个连接给你哦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏