spring mvc ajax 400解决
The request sent by the client was syntactically incorrect.
ajax发起请求时报400错误。请求代码如下:
var reportId=($(obj).parent().parent().parent().children(":first").attr("value"));
            var isChecked=$(obj).prop("checked")=="checked"?1:0;
            var reportSetting=$(obj).attr("value");
            var setting={reportId:reportId,isChecked:isChecked,reportSetting:reportSetting};
            console.log(JSON.stringify(setting));
            $.ajax({
                type: "POST",
                url: "/reportConfiguration",
                contentType:"application/json",
                data:JSON.stringify(setting),
                dataType: "json",
                success: function (msg) {
                    if (msg.isSuccess){
                        $("#msg").html("设置成功")
                    }else{
                        $("#msg").html(msg.result);
                    }
                }
            });
服务端代码:
@RequestMapping("/reportConfiguration")
    @ResponseBody
    public String reportSet(@RequestBody ReportSettingEditBean reportSettingEditBean,HttpServletRequest request){
        return "";
    }
bean定义:
public class ReportSettingEditBean {
    private long reportId;
    private boolean isChecked;
    private ReportSetting reportSetting;
    public long getReportId() {
        return reportId;
    }
    public void setReportId(long reportId) {
        this.reportId = reportId;
    }
    public boolean isChecked() {
        return isChecked;
    }
    public void setChecked(boolean isChecked) {
        this.isChecked = isChecked;
    }
    public ReportSetting getReportSetting() {
        return reportSetting;
    }
    public void setReportSetting(ReportSetting reportSetting) {
        this.reportSetting = reportSetting;
    }
}
public enum ReportSetting {
    Fixed(1),
    Scroll(2),
    First(4);
    private int value;
    public int getValue() {
        return value;
    }
    ReportSetting(int value){
        this.value=value;
    }
}
解决:
在js中核对数据类型与接收数据类中属性的数据类型是否一致。
上例中:ReportSetting 是枚举对象, 而var reportSetting=$(obj).attr("value") 是字符串。修改成整数即可。正确请求如下:
var reportId=($(obj).parent().parent().parent().children(":first").attr("value"));
            var isChecked=$(obj).prop("checked")=="checked"?1:0;
            var reportSetting=parseInt($(obj).attr("value"));
            var setting={reportId:reportId,isChecked:isChecked,reportSetting:reportSetting};
            $.ajax({
                type: "POST",
                url: "/reportConfiguration",
                contentType:"application/json",
                data:JSON.stringify(setting),
                dataType: "json",
                success: function (msg) {
                    if (msg.isSuccess){
                        $("#msg").html("设置成功")
                    }else{
                        $("#msg").html(msg.result);
                    }
                }
            });
spring mvc ajax 400解决的更多相关文章
- Spring Mvc Http 400 Bad Request问题排查
		如果遇到了Spring MVC报错400,而且没有返回任何信息的情况下该如何排查问题? 问题描述 一直都没毛病的接口,今天测试的时候突然报错400 Bad Request,而且Response没有返回 ... 
- spring mvc ajax 提交复杂数组类型
		The server refused this request because the request entity is in a format not supported by the reque ... 
- spring boot 1.x完整学习指南(含各种常见问题servlet、web.xml、maven打包,spring mvc差别及解决方法)
		spring boot 入门 关于版本的选择,spring boot 2.0开始依赖于 Spring Framework 5.1.0,而spring 5.x和之前的版本差距比较大,而且应该来说还没有广 ... 
- spring mvc ajax异步文件的上传和普通文件上传
		表单提交方式文件上传和ajax异步文件上传 一:首先是我在spring mvc下的表单提交方式上传 ssm的包配置我就不一一详细列出来了,但是上传的包我还是列出来 这一段我也不知道怎么给大家讲解就是直 ... 
- 【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码
		概述 spring MVC框架controller间跳转,需重定向,主要有如下三种: 不带参数跳转:形如:http://localhost:8080/SpringMVCTest/test/myRedi ... 
- Spring MVC+ajax进行信息验证
		本文是一个ajax结合Spring MVC使用的入门,首先我们来了解一下什么是Ajax AJAX 不是新的编程语言,而是一种使用现有标准的新方法.AJAX 最大的优点是在不重新加载整个页面的情况下,可 ... 
- spring mvc ajax请求
		jar包中增加 jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-databind-2.5.0.jar springmvx.xm ... 
- Spring MVC ajax:post/get 的具体实现
		Post 方式 1.自动注入 a. pom.xml ---- 配置Maven,添加必要的jar包 <!--用于 String-JSONObject 转换 --> <dependenc ... 
- Spring MVC Ajax 复杂参数的批量传递
		要解决的问题: 如何组织客户端参数? Ajax 方法的配置属性如何定义才能传递复杂参数? 基于 SpringMVC 的服务端该如何接收? MyBatis 怎么处理批量更新? 客户端脚本 viewMes ... 
随机推荐
- 关于Eclipse项目中加入jquery.js文件报错(missing semicolon)问题
			在使用Eclipse3.7及以后的版本的时候,加入jQuery文件会报错(missing semicolon),文件中会显示红色小X,虽然这个错误并不会影响项目的运行,但是这个却会大大的影响到开发人员 ... 
- WebClient异步下载文件
			namespace ConsoleAppSyncDownload{ class Program { static void Main(string[] args) { ... 
- linux档案与文件的的压缩与打包
			本文涉及的命令:gzip.zcat.bzip2.bzcat.tar.dump.restore.mkiosfs.cdrecord.dd.cpio. 概念: 几种基础压缩的概念: 计算机最小单位是字节,但 ... 
- 第三章 springboot + jedisCluster
			如果使用的是redis2.x,在项目中使用客户端分片(Shard)机制.(具体使用方式:第九章 企业项目开发--分布式缓存Redis(1) 第十章 企业项目开发--分布式缓存Redis(2)) 如果 ... 
- php SPL常用接口
			在PHP中有好几个预定义的接口,比较常用的四个接口(Countable.ArrayAccess.Iterator.IteratorAggregate(聚合式aggregate迭代器Iterator)) ... 
- instancetype、id、NSObject的联系和区别
			1.id和instancetype都能省去具体类型,提高代码的通用性.而NSObject *则没有这种功能. 2.instancetype只能用于方法的返回类型,而id用处和NSObject *类似. ... 
- 高频交易策略之Penny Jump[z]
			高频交易策略之Penny Jump 今天假设有一个笨笨的大型机构投资人(共同基金,银行,退休基金....),他想要买进一只股票,但又不想挂市价买进,所以就在市场里面挂了一张要买进的大单.这时候所有市场 ... 
- centos6.5搭建lnmp环境
			注:本文原文链接:http://www.cnblogs.com/xiaoit/p/3991037.html 本文只是做保存使用 1:查看环境: [root@10-4-14-168 html]# cat ... 
- XHTML跟HTML的区别
			其实二者并没有什么区别,只是THTML的要求更加严格,比如说 1.XHTML 元素必须被正确地嵌套. 错误:<p><span>this is example.</p> ... 
- 第三章 深入 ZAB 协议
			上一节介绍了ZAB协议的内容,本节将从系统模型.问题描述.算法描述和运行分析四方面来深入了解 ZAB 协议. 系统模型 在一个由一组进程 n ={P1,P2,...Pn}组成的分布式系统中,每一个进程 ... 
