我有一个可以通过提交一个表单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] ,而不是实际的文件内容。 我怎样才能确保文件数据提交?