Jquery表单以错误的方式发送数据

时间:2017-01-04 12:18:40

标签: javascript jquery express ajaxsubmit

我使用vue资源模块发送POST请求,并使用jquery表单插件发送到相同的路由,但是使用文件。

这是我的代码

function sendWithoutFiles(data){
    return this.$http.post(link, data)
}
function sendWithFiles(data){
    return new Promise(function(resolve, reject){
        jQuery('#form').ajaxSubmit({
            data: data,
            success: resolve,
            url: link
        })
    })
}

function send(data){
    var sendFunction = sendWithoutFiles;
    if(files)
        sendFunction = sendWithFiles;
    sendFunction({
        message: 'john',
        participants: [1, 50]
    }).then(function(res){
        console.log(res);
    })
}

现在,如果我发送它们没有文件,那就完美了。 但是当我这样做时,数据会以这种方式到达:

{
    message: ['john'],
    'participants[]': [1, 50]
}

我和这样的多方使用快递:

app.post('*', function(req, res, next){
    var form = new multiparty.Form();
    form.parse(req, function(err, fields, files){
        req.uploadFiles = files;
        console.log(fields, req.body, "MID LOG");
        req.body = req.body || fields;
        next();
    })
})

在Chrome网络面板中 - >请求负载 enter image description here 所以我不认为多方模块出了问题。

我是否在使用jquery插件做错了什么?

0 个答案:

没有答案