jFinal 获取formdata数据为null的问题

一个相当奇葩的问题,我用jFinal获取前端传过来的formdata数据,非文件。我用ajax试了,axios试了,fetch试了,都不行。

其它还有修改idea或eclipse的配置都不管用。

然后偶然在jfinal官网看到有人也出现了相同的问题,其中一个回答:
要先getFiles()后,才能同时获取其它参数。因为这个参数结构是:

{
	title:'sdfsdf',
	description:'233',
	file:file
}

然后我才发现了这个奇葩的解决方案,忍不住想吐槽的是

这个参数注入@Para的意义到底是什么???

public void login(@Para("username") String username, @Para("password") String password){

        //WDNM非要写这一句才能获取到数据,浪费老子好多个小时。
        UploadFile f = getFile();

        if(username == null){
            username = get("username");
        }
        if(password == null){
            password = get("password");
}

前端代码:

var formdata = new FormData();
var data = $.common.formToJSON('frmLogin');
formdata.append('username',data.username.toString());
formdata.append('password',data.password.toString());
$.ajax({
    url: 'login',
    type: 'post',
    processData:false,
    contentType:false,
    data:formdata,
    dataType: 'json',
    mimeType: "multipart/form-data",
    // headers: {
    //     'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
    // },
    success: function(res) {
        console.log(res);
    }
});
posted @ 2021-08-22 20:14  昨天的小冉  阅读(365)  评论(0编辑  收藏  举报