当我采用formData传参时

	function toLogin() {
        var formData = new FormData($("form#arg")[0]);
        jQuery.ajax({
            url:domain + 'sysUser/userLogin',
            type:"post",
            data:formData,
			processData: false,
			contentType: false, 
            success:function (data) {
                console.log(data);
            },
            error:function(data) {
                console.log("1111");
            }
        })
    }

 

前端报错:400

结果后端报错:Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'mailOrUsername' is not present]

我们需要将formData转化为json:

	function toLogin() {
        var formData = new FormData($("form#arg")[0]);
        jQuery.ajax({
            url:domain + 'sysUser/userLogin',
            type:"post",
            data:formData2Json(formData),             #########数据转化
			processData: false,
			contentType: false, 
            success:function (data) {
                console.log(data);
            },
            error:function(data) {
                console.log("1111");
            }
        })
    }



var formData2Json = function(formData){
	console.log(formData);
    var objData = {};
    //(value, key) => objData[key] = value
    formData.forEach(function (curValue,index,arr) {
        objData[index] = curValue;
    });
    //转json字符串
    //return JSON.stringify(objData);
    //转json对象.
    var objDataStr = JSON.stringify(objData)
    return JSON.parse(objDataStr);
}

 

最后修改于 2020-04-23 12:23:30
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇