Ajax 上传图片不提交表单
Ajax upload image without form submit
好的...我没有想法,需要有人启发我。
我正在尝试使用 Ajax 将文件从 INPUT 元素上传到 php 文件 (handler.php),我似乎遗漏了一些东西。我花了好几个小时,尝试了很多变体,但都没有成功……我正式放弃了……
我最大限度地简化了代码,有人可以告诉我我缺少什么吗?
非常感谢
这是脚本
<script>
function readURL(fid,input,mxsize,fh,fw) {
var form_data = new FormData();
form_data.append('img', $('#file_header')[0].files[0]);
$.ajax({
url:"handler.php",
type:"POST",
data: form_data,
contentType: false,
cache: false,
processData: false,
beforeSend:function(){
$('#loader-message-header').html("<label>Image Uploading...</label>");
$('#loader-message-header').show();
},
success:function(data){
alert(data);
},
fail: function(){
$('#loader-message-header').html("<label>Connection to the server lost</label>");
}
});
}
</script>
HTML
<form id="register_form" class="mu-reservation-form ">
<input id="file_header" class="file-upload-input" type='file' onchange="readURL(this);" accept="image/*" />
<img class="file-upload-image" src="../assets/img/register/SRP-header.jpg" />
<div id="loader-message-header" class="loader-message"></div>
和 CSS
.file-upload-input {
position: absolute;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
outline: none;
opacity: 0;
cursor: pointer;
}
.image-upload-wrap {
margin-top: 20px;
position: relative;
background-color:#c1a35f;
}
.image-upload-wrap:hover{
opacity: 0.6;
filter: alpha(opacity=60);
}
.loader message{
display:none;
}
仅供将来需要它的人使用。
上面的代码工作得很好,那些该死的解析错误让我失望了。最后调试成功。
好的...我没有想法,需要有人启发我。
我正在尝试使用 Ajax 将文件从 INPUT 元素上传到 php 文件 (handler.php),我似乎遗漏了一些东西。我花了好几个小时,尝试了很多变体,但都没有成功……我正式放弃了……
我最大限度地简化了代码,有人可以告诉我我缺少什么吗?
非常感谢
这是脚本
<script>
function readURL(fid,input,mxsize,fh,fw) {
var form_data = new FormData();
form_data.append('img', $('#file_header')[0].files[0]);
$.ajax({
url:"handler.php",
type:"POST",
data: form_data,
contentType: false,
cache: false,
processData: false,
beforeSend:function(){
$('#loader-message-header').html("<label>Image Uploading...</label>");
$('#loader-message-header').show();
},
success:function(data){
alert(data);
},
fail: function(){
$('#loader-message-header').html("<label>Connection to the server lost</label>");
}
});
}
</script>
HTML
<form id="register_form" class="mu-reservation-form ">
<input id="file_header" class="file-upload-input" type='file' onchange="readURL(this);" accept="image/*" />
<img class="file-upload-image" src="../assets/img/register/SRP-header.jpg" />
<div id="loader-message-header" class="loader-message"></div>
和 CSS
.file-upload-input {
position: absolute;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
outline: none;
opacity: 0;
cursor: pointer;
}
.image-upload-wrap {
margin-top: 20px;
position: relative;
background-color:#c1a35f;
}
.image-upload-wrap:hover{
opacity: 0.6;
filter: alpha(opacity=60);
}
.loader message{
display:none;
}
仅供将来需要它的人使用。
上面的代码工作得很好,那些该死的解析错误让我失望了。最后调试成功。