鍍金池/ 問(wèn)答/Java  HTML/ Spring讀取formData對(duì)象,request.getParameter(

Spring讀取formData對(duì)象,request.getParameter() 取值為 null

jquery 代碼,使用formData對(duì)象

var formData = new FormData();
        //formData.append('shopImg', shopImg);
        //formData.append('shopStr', JSON.stringify(shop));
        var verifyCodeActual = $('#j_captcha').val();
        if (!verifyCodeActual) {
            $.toast('請(qǐng)輸入驗(yàn)證碼!');
            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到服務(wù)端后,chrome讀取到的Form Data
圖片描述

在spring中獲取 key=verifyCodeActual的值時(shí),出現(xiàn)null
圖片描述

圖片描述

回答
編輯回答
青檸

不要用formData保存請(qǐng)求數(shù)據(jù),直接用一個(gè)對(duì)象來(lái)保存就行。

var data = {"verifyCodeActual":verifyCodeActual};

FormData是上傳文件時(shí)需要用到的請(qǐng)求格式

2018年6月23日 05:11
編輯回答
爛人

方法一:

 $.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方法參數(shù)(MultipartHttpServletRequest request)
request.getParameter("verifyCodeActual");

方法二:

不改ajax請(qǐng)求方法,springmvc方法參數(shù)(@RequestParam Map<String,Object> map)自己解析map
2017年9月25日 19:17