加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 更改文件(图像)输入ajax无法发布文件

发布时间:2020-12-13 17:00:50 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 Uploading both data and files in one form using Ajax?????????????????????????????????????7个 Ajax无法发送文件(jpg-png).我无法解决问题. 表格代码 form action="upload.php" method="post" enctype="multipart/form-data" label for="im
参见英文答案 > Uploading both data and files in one form using Ajax?????????????????????????????????????7个
Ajax无法发送文件(jpg-png).我无法解决问题.

表格代码

<form action="upload.php" method="post" enctype="multipart/form-data">
 <label for="img"> 
  <button id="post-img">update</button>
  <!-- input hidden !! -->
  <input type="file" name="img" id="a-img" style="visibility:hidden">
</label>

AJAX:

$('#a-img').change(function(){
  var photo = $('form').serialize();
  $.ajax({
    url:'upload.php',data: photo,success:function(data){
        alert(data);
    }
   });
});

php代码:

if($_FILES){
 echo "file ok";
}else{
 echo "no file"; 
}

回调:“没有文件”;

解决方法

将id frm_send_img添加到表单中.

<form action="upload.php" id="frm_send_img" method="post" enctype="multipart/form-data">
 <label for="img"> 
  <button id="post-img">update</button>
  <!-- input hidden !! -->
  <input type="file" name="img" id="a-img" style="visibility:hidden">
</label>

更改脚本如下.

$('#a-img').change(function(){
            var photo = new FormData($("#frm_send_img")[0]);

            $.ajax({
                url: "upload.php",type: "POST",async: false,success: function (msg) {
                    alert(msg)
                },cache: false,contentType: false,processData: false
            });

            e.preventDefault();
        });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读