ajax.request提交,提交Ajax请求通过JavaScript文件上传(Submit ajax request with

博客讨论了在尝试通过Ajax提交文件时遇到的问题,即服务器收到的参数是'[object File]'而非实际文件内容。文章指出,当前的XMLHttpRequest实现未能正确处理multipart/form-data类型的数据。为了解决这个问题,作者提供了调整后的`xmlhttpPost`函数和`updatepage`函数代码,并寻求如何确保文件数据能被正确地提交到服务器的方法。
摘要由CSDN通过智能技术生成

我有一个可以通过提交一个表单form.submit()和所述响应是正确的。 现在我想用ajax提交,但提交文件时,我有一个问题。

形式很简单:

οnclick="xmlhttpPost('upload.asp', document.getElementById('fileinput').files[0]);" value="submit file"/>

我得到了Ajax调用如下:

function xmlhttpPost(strURL, form) {

var xmlHttpReq = false;

var self = this;

// Mozilla/Safari

if (window.XMLHttpRequest) {

self.xmlHttpReq = new XMLHttpRequest();

}

// IE

else if (window.ActiveXObject) {

self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");

}

self.xmlHttpReq.open('POST', strURL, true);

self.xmlHttpReq.setRequestHeader('Content-Type', 'multipart/form-data');

self.xmlHttpReq.onreadystatechange = function() {

if (self.xmlHttpReq.readyState == 4) {

updatepage(self.xmlHttpReq.responseText);

}

}

self.xmlHttpReq.send('file=' + file);

}

function updatepage(str){

document.getElementById("fileitems").innerHTML = str;

}

现在的问题是:服务器获得的字符串[object file] ,而不是实际的文件内容。 我怎样才能确保文件数据提交?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值