【发布时间】:2013-02-27 00:25:51
【问题描述】:
我知道用 jquery 发送 $_POST 数据非常简单,但是可以用 jquery 发送 $_FILES 数据吗?目前我正在使用 HTTPRequest,但如果可以使用 jquery,我会更喜欢它。谢谢。
function upload() {
var fileInput = $('#file')[0];
var data = new FormData();
for(var i = 0; i < fileInput.files.length; ++i){data.append('file[]',fileInput.files[i]);}
var request = new XMLHttpRequest();
request.open('POST','upload.php',true);
request.setRequestHeader('Cache-Control','no-cache');
request.onreadystatechange = function() {
if(request.readyState == 4 && request.status == 200) {
var return_data = request.responseText;
alert(return_data);
if(return_data !== 'success') {
failed();
}else
if(return_data == 'success') {
success();
}
}
}
request.send(data);
};
【问题讨论】:
-
不,你需要一个表格
-
在现代浏览器中(阅读:不是 IE XHR2 上传文件。见:profilepicture.co.uk/ajax-file-upload-xmlhttprequest-level-2
-
感谢所有 cmets。看起来我会坚持我所拥有的。只是觉得值得一试
标签: javascript jquery ajax xmlhttprequest