我有这样的标记 我现在没有使用表单我想使用ajax上传图像
$('#file').on('change', function(e) {
$.ajax({
url: "upload.php",
type: "POST",
data: ?,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
}
});
})
在数据中我要发送什么?我在堆栈溢出中只得到了这个ajax,但我无法理解。还有一件事我怎样才能在PHP文件中重现数据
谢谢你?答案 0 :(得分:1)
通过ajax上传图片是不可能的。你可以做的是创建一个隐藏的iframe并使用它上传文件。
答案 1 :(得分:0)
请注意,通常通过AJAX上传文件是一件痛苦的事。您可以在此处查看相关问题File Upload via AJAX within JQuery。
就个人而言,我在提交时使用隐藏的iframe生成,并提供表单的克隆。完成后,iframe的内容将被追回到jQuery。在旧的IE版本中,我找不到另一种workind方式。
答案 2 :(得分:0)
您尝试执行的操作可以在支持FormData功能
的浏览器中完成$('#file').on('change', function(e) {
var data = new FormData();
data.append('file',this.files[0]);
$.ajax({
url: "upload.php",
type: "POST",
data: data,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
}
});
})