rest风格 jquery ajax前台传输data control 方法中加入 @RequestBody 会报415的错误

来源:互联网 发布:上海 微软云计算架构师 编辑:程序博客网 时间:2024/06/07 17:18

这是我jsp界面的 jquery ajax 传输的代码

<script type="text/javascript">    /*  alert("浏览器当前窗口可视区域宽度" + $(window).width());  */    function sendJson(){        var data={uname: $('#uname').val(),upwd: $('#upwd').val()};        $.ajax({            type :'post',            url :'${pageContext.request.contextPath}/myLogin',            contentType : 'application/json',            data:JSON.stringify(data),            success : function(result) {                var back=eval('('+result+')');                if(back.msg){                    alert("登录成功");                    window.location.href = 'login';                }else{                    //alert($("#form1").serialize());                    alert("登录失败");                }            }        });    }

这是 control控制层的内容

    @RequestMapping("/myLogin")    @ResponseBody    public String myLogin(@RequestBody UseInfo useInfo,HttpServletRequest request)    {        JSONObject back = new JSONObject();        boolean b=false;        if("success".equals(LoginSer.login(useInfo))){            b=true;        }else{            b=false;        }        back.put("msg",b);        return back.toString();    }

项目要求:以AJAX的形式完成登录与注册
2.加入拦截器
3.完成rest接口形式的登录与注册

**
springmvc添加配置、注解;
pom.xml添加jackson包引用;
Ajax请求时设置Content-Type为application/json
发送的请求内容不要转成JSON对象,直接发送JSON字符串即可 这些都配置了**
参照大佬的博客
http://blog.csdn.net/yixiaoping/article/details/45281721
修改 依然415错误

最后我找到 一种方法 就是 改变 jsp界面的内容 control层不再写 requestBody

    contentType:"application/x-www-form-urlencoded;charset=utf-8",             data:$("#form1").serialize(),

contentType 和data 改变一下 data直接 提交表单

阅读全文
0 0