Spring读取formData对象,request.getParameter() 取值为 null

jquery 代码,使用formData对象

var formData = new FormData();

//formData.append('shopImg', shopImg);

//formData.append('shopStr', JSON.stringify(shop));

var verifyCodeActual = $('#j_captcha').val();

if (!verifyCodeActual) {

$.toast('请输入验证码!');

return;

}

formData.append("verifyCodeActual", verifyCodeActual);

$.ajax({

url : (isEdit ? editShopUrl : registerShopUrl),

type : 'POST',

data : formData,

contentType: "application/x-www-form-urlencoded",

cache: false,

processData: false,

success : function(data) {

if (data.success) {

console.log(data);

$.toast('提交成功!');

$('#captcha_img').click();

} else {

$.toast('提交失败!');

console.log(data);

$('#captcha_img').click();

}

}

});

成功post到服务端后,chrome读取到的Form Data
图片描述

在spring中获取 key=verifyCodeActual的值时,出现null
图片描述

图片描述

回答:

方法一:

 $.ajax({

url : url,

type : 'POST',

data : formData,

processData: false,

contentType: false,

//contentType: "application/x-www-form-urlencoded",

cache: false,

processData: false,

success : function(data) {

if (data.success) {

console.log(data);

$.toast('提交成功!');

$('#captcha_img').click();

} else {

$.toast('提交失败!');

console.log(data);

$('#captcha_img').click();

}

}

});

springmvc方法参数(MultipartHttpServletRequest request)

request.getParameter("verifyCodeActual");

方法二:

不改ajax请求方法,springmvc方法参数(@RequestParam Map<String,Object> map)自己解析map

回答:

不要用formData保存请求数据,直接用一个对象来保存就行。

var data = {"verifyCodeActual":verifyCodeActual};

FormData是上传文件时需要用到的请求格式

以上是 Spring读取formData对象,request.getParameter() 取值为 null 的全部内容, 来源链接: utcz.com/p/175461.html

回到顶部