jquery ajax 文件上传不工作 var_dump($_FILES) 给出空数组
jquery ajax file uploading not working var_dump($_FILES) gives empty array
我试图在这个网站上找到我的问题的解决方案,但我无法解决我的问题。
它是 html 部分:
<form action="" method="post" enctype="multipart/form-data" id="edit_profile_form" >
<input type="file" name="new_profile_photo" id="new_profile_photo" value="Choose Photo" >
<button class="button11" name="save_changes" id="button11" >SAVE </button>
</form>
这是ajax代码:
<script type="text/javascript">
$(document).on('click', '#button11', function(){
event.preventDefault();
var file_data = $("#new_profile_photo").prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url:"ajax/editprofile.php",
method:"POST",
async: false,
cache: false,
contentType: false,
processData: false,
data: form_data,
success:function(data){
$("#error_messages").html(data);
}
});
});
</script>
当我写 var_dump($_FILES) 时,它给了我空数组。如果有人知道如何解决它,请帮忙。谢谢
试试这个:
JS
$('#upload').on('click', function() {
var file_data = $('#pic').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url : 'upload.php', // point to server-side PHP script
dataType : 'text', // what to expect back from the PHP script, if anything
cache : false,
contentType : false,
processData : false,
data : form_data,
type : 'post',
success : function(output){
alert(output); // display response from the PHP script, if any
}
});
$('#pic').val(''); /* Clear the file container */
});
Php
<?php
if ( $_FILES['file']['error'] > 0 ){
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']))
{
echo "File Uploaded Successfully";
}
}
?>
它会将文件上传到uploads目录
我试图在这个网站上找到我的问题的解决方案,但我无法解决我的问题。 它是 html 部分:
<form action="" method="post" enctype="multipart/form-data" id="edit_profile_form" >
<input type="file" name="new_profile_photo" id="new_profile_photo" value="Choose Photo" >
<button class="button11" name="save_changes" id="button11" >SAVE </button>
</form>
这是ajax代码:
<script type="text/javascript">
$(document).on('click', '#button11', function(){
event.preventDefault();
var file_data = $("#new_profile_photo").prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url:"ajax/editprofile.php",
method:"POST",
async: false,
cache: false,
contentType: false,
processData: false,
data: form_data,
success:function(data){
$("#error_messages").html(data);
}
});
});
</script>
当我写 var_dump($_FILES) 时,它给了我空数组。如果有人知道如何解决它,请帮忙。谢谢
试试这个:
JS
$('#upload').on('click', function() {
var file_data = $('#pic').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url : 'upload.php', // point to server-side PHP script
dataType : 'text', // what to expect back from the PHP script, if anything
cache : false,
contentType : false,
processData : false,
data : form_data,
type : 'post',
success : function(output){
alert(output); // display response from the PHP script, if any
}
});
$('#pic').val(''); /* Clear the file container */
});
Php
<?php
if ( $_FILES['file']['error'] > 0 ){
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']))
{
echo "File Uploaded Successfully";
}
}
?>
它会将文件上传到uploads目录