Html代码:
<input type="file" id="file" />
jQuery代码:
$.ajax({
url: 'go.php',
data: {file:$('#file').attr('files'),upload:name},
cache: false,
contentType: 'multipart/form-data',
processData: false,
type: 'POST',
success: function(data){
alert(data);
},
error: function(data){
alert("error");
}
});
PHP代码:
if(isset($_POST['file'])){
echo "1";
}
上传提醒空消息后!
但是这段代码应该出错“1”
答案 0 :(得分:0)
它是一种解决方法,但可能有所帮助...
function uploadFile() {
var file = document.getElementById('fileToUpload').files[0];
if (file) {
var fileSize = 0;
var fileType = ''+file.type;
if(checkType(fileType)){
var fd = new FormData();
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.open("POST", "uploadPhoto");
xhr.send(fd);
}
else{
document.getElementById('fileToUpload').value ='' ;
alert("Choose of specified file Format only.");
}
}
}*
答案 1 :(得分:0)
永远记住这些解决方案中的任何一个都不起作用,文件属性没有显示在:
$.ajax({ url : here });
尽管一切都是正确的。
如果您的<form>
本身是从ajax调用加载的,
<form>
文件放在url中显示的位置(即文件的最终文件夹)
出现在url中)然后使用include()
函数包含文件。答案 2 :(得分:-1)
使用ajax上传文件是不可能的。但是有一些使用框架的变通方法。 试试这个教程:
http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/
阅读这篇文章 CFR:jQuery Ajax File Upload