ajax无法发回节点快递

时间:2015-11-13 06:45:21

标签: javascript jquery ajax node.js express

我正在使用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});

 })

0 个答案:

没有答案