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 ...
随机推荐
- Autofac 的构造函数注入方式
介绍 该篇文章通过一个简单的 ASP.NET MVC 项目进行介绍如何使用 autofac 及 autofac 的 MVC 模块进行依赖注入.注入方式通过构造函数. 在编写 aufofac 的依赖注入 ...
- QT报错Error processing
执行命令:qmake modbus_ups_mlrl.pro modbus_ups_mlrl.pro文件内容: TEMPLATE = vclib CONFIG +=qt debug thread QT ...
- VC++ MFC 按钮的全部样式Style
Button Styles BS_3STATE 与复选框一样本样式按钮可被单击变暗.变暗状态通常用于指示本样式的按键正处于禁用状态. BS_AUTO3STATE 与三状态的复选框一样当用户选中它本 ...
- 9.springMVC中的拦截器
springMVC中的拦截器大概大致可以分为以下几个步骤去学习: 1.自定义一个类实现HandlerInterceptor接口,这里要了解其中几个方法的作用 2.在springMVC的配置文件中添加拦 ...
- oracle根据分隔符将字符串分割成数组函数
--创建表类型 create or replace type mytype as table of number;--如果定义成varchar--CREATE OR REPLACE type myty ...
- 同一web系统,不同端口的跨域问题
部署web系统的时候,发现了跨域问题,子系统是用Iframe嵌入到系统里面的,导致父窗口获取子系统的webService和图片时发现跨域问题,如下图所示:问题1:父窗口获取子系统的对象跨域 原因:用这 ...
- PHP 数组函数整理
如果你已经使用了一段时间PHP的话,那么,你应该已经对它的数组比较熟悉了——这种数据结构允许你在单个变量中存储多个值,并且可以把它们作为一个集合进行操作. 经常,开发人员发现在PHP中使用这种数据结构 ...
- Two Sum & Add Two Numbers
Two Sum 题目:https://leetcode.com/problems/two-sum/ class Solution(object): def twoSum(self, nums, tar ...
- makeinfo: command not found
解决办法:sudo apt-get install texinfo
- html5新特性之音频、视频
1.视频 标签video video标签的属性 属性 描述 autoplay 视频就绪后自动播放 preload 视频在页面加载时加载 loop 视频播放完成后循环播放 controls 显示控件 s ...