如何使用ajax将formData发送到php

时间:2016-02-24 14:40:19

标签: php ajax file upload

我正在尝试生成多个表单,该表单将提供一个上传多个文件的系统。到目前为止代码是

<?php 
    ...
foreach($all_cat as $cat)
{
?>
<form method="post" class="uploadform" enctype="multipart/form-data" action="">
<label for="file-upload" class="custom-file-upload">
<i class="cloud-upload"></i> Add Files
</label>
<input id="file-upload" type="file" name="files[]" multiple />
<input type="submit" value ="uplaod" size="60">
</form>
...
<?php
...

jquery的

$(".uploadform").on('submit',(function(e)
{
    e.preventDefault();
    if($('input[type=file]').val()=="")
     {
         alert("no file is selected");
         return false;
     }
    else
    {
        $.ajax({
            url: "form_process.php", 
            type: "POST",             
            data: new FormData(this),
            contentType: false,
            cache: false, 
            processData:false, 
            success: function(result)
                    {
                        alert(result);
                    }
        })//ajax
    }//else
}));//onsubmit

但似乎form_process.php文件没有从jquery获取数据。警告产生表的长标记,并且在某处,它表示文件名不能为空。

form_process.php

if(isset($_FILES['files']))
{
  foreach($_FILES['files']['tmp_name'] as $key3)
  {
    $exif = exif_imagetype($key3);
    echo "file type is ".$exif."<br/>";
  }

如何访问所选文件的上传和表单的其他数据?我已经尝试了几个小时,有人可以帮助我吗?提前致谢

1 个答案:

答案 0 :(得分:0)

尝试添加它们而不是使用&#39;这个&#39;。