ajax 触发文件上传,jQuery的Ajax回调在文件上传后没有触发

博客讨论了一个使用Ajax进行文件上传到Node.js服务器的问题。前端使用jQuery实现表单提交,文件通过formData传递,但服务器返回数据后前端没有触发任何回调。尽管服务器成功接收并处理了文件,前端的success、beforeSend、error和complete回调均未被调用。可能的原因是前端的错误处理或数据类型配置不正确。
摘要由CSDN通过智能技术生成

我有一个相对简单的ajax调用,它将文件从输入表单上传到服务器:

$(function(){

$("form").submit(function(){

var infile = $('#pickedfile');

var actFile = infile[0].files[0];

$.ajax(

{

type: "POST",

url: "http://localhost:3000/file_upload",

data: [

{

file: actFile

}],

dataType: 'text',

success: function ()

{

alert("Data Uploaded");

},

beforeSend: function ()

{

alert("Before Send");

return false;

},

error: function ()

{

alert("Error detected");

},

complete: function ()

{

alert("Completed");

}

});

});

});

我有一个成功接收该文件的node.js服务器,并报告回来:

var express = require('express'),

wines = require('./routes/testscripts');

var app = express();

app.configure(function(){

app.use(express.bodyParser());

app.use(app.router);

});

app.post('/file_upload', function(req, res) {

//file should be in req.files.pickedfile

// get the temporary location of the file

// undefined if file was not uploaded

var tmp_path = req.files.pickedfile.path;

res.send("Hello, this is server");

});

});

app.listen(3000);

文件上传成功,一切似乎都在服务器端正常工作。

但是,在前端,没有任何警报被触发,因此我无法响应来自服务器的任何新数据。还有一些我缺少的额外步骤吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值