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 ...
随机推荐
- rutime中动态调用类的方法
Dynamically invoke a class method in Objective C 代码 #import <Foundation/Foundation.h> #import ...
- Filter过滤器简单应用( 接口访问控制 )
一.描述 在提供安卓.IOS客户端接口时,可以在登陆接口分配Session给客户端,用于判断其他接口是否是合法访问,以避免将所有的接口都暴露在web中可以由路径直接访问.但是最近的一个项目中的移动接口 ...
- 集合框架之 List
集合框架就是Java中解决数组长度固定的问题,相当于动态数组,随时用,随时建立,内存释放 这个问题还不知道? 整个集合框架 概括为 List Set Map 这三个接口以及他们的实现类之间的应 ...
- jsp学习--基本语法和基础知识
一.JSP简单介绍 1.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于 ...
- android中的MVP模式
1.建立bean public class UserBean { private String mFirstName; private String mLastName; public UserBea ...
- WPF 设置透明度和圆形图片
1 设置效果为
- 在UTF8(linux)下,逆置汉字字符串
#include <stdio.h> int main() { char c[]="我是如此热爱编程!"; ,min=,max; while(c[index]) { i ...
- ViewPager 仿 Gallery效果
xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android ...
- 如何制作u盘启动盘
1,下载windows系统 许多人下载windows时会出现各种版本,我推荐在这里下载 你用上面的地址进行下载,一般用迅雷吧.下载结束你就有了镜像文件了. 2,下载安装碟软通 那 ...
- jQuery学习总结(二)
简单选择器: 在使用jQuery 选择器时,我们首先必须使用“$()”函数来包装我们的CSS 规则. 而CSS 规则作为参数传递到jQuery 对象内部后,再返回包含页面中对应元素的jQuery 对象 ...