我正在使用Ajax并提交表单。我的表单包含一个图像文件,我通过输入类型文件和输入字段中的一些值获取。当我只传递单个变量进行测试时,它会返回成功:。但是当我传递表单时,它在控制台中显示错误,它无法发布(404未找到)。并在错误:中显示[对象]如果我启用页面刷新它会在 / cropImg 路径上显示输出,如下所示:{file_name:' filename'我不知道我做错了什么。我已经尝试了很多东西,但没有任何工作,就像3天我被困在这里..
我的Ajax表单提交
$('#cover_file_form').submit(function(e) {
var form_data = new FormData($(this)[0]);
$.ajax({
url: $(this).attr('data-url'),
type: 'post',
cache: false,
contentType: false,
processData: false,
data: form_data,
//data: {mydata:'akmal'},
//data: JSON.stringify({ "objectData":form_data}),
//async: false,
// dataType: 'json',
//contentType: "application/json",
processData: false,
success: function(ret_data) {
alert('success'+ret_data.file_name);
},
error: function(r_data) {
alert('error'+r_data);
}
});
return false;
});
和路线文件(routes / index.js)
app.post('/cropImg',function(req,res){
// // get the temporary location of the file
//var tmp_path = req.files['file_browse_cover'].path;
// //using graphics magick for cropping
// // gm(tmp_path)
// // .resize(500,278, "!")
// // .crop(parseInt(req.body.InputWidth),parseInt(req.body.InputHeight), parseInt(req.body.InputLeft), parseInt(req.body.InputTop))
// // .write(__dirname + "/public/images-esct/cropped/"+req.files['file_browse_cover'].name , function (err) {
// // if(err) throw err;
// // console.log(err);
// // });
// //sending file name
//fs.readFile(thisfl.path, function (err, data) {
// var newPath = __dirname + "\\eac_uploads\\" + thisfl.originalFilename;
// fs.writeFile(newPath, data, function (err) {
//res.send({ some: JSON.stringify({response:'tmp_path'}) });
//res.send({file_name:'akmal'});
// });
//});
res.send({file_name: req.files['file_browse_cover'].name});
})