我使用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网络面板中 - >请求负载 所以我不认为多方模块出了问题。
我是否在使用jquery插件做错了什么?