首页 > 解决方案 > 使用 Ajax 和 jQuery 传递文件数据

问题描述

我有一个包含文件和文本输入的表单。我想将文件传递给不同的 php 文件并将文本数据传递给不同的文件。我无法使用 jQuery 和 Ajax 将文件数据传递给其他 php 文件

标签: phpjqueryajax

解决方案


我们可以使用以下代码实现相同的目的。该代码将使用 AJAX HTML 文件将上传的文件发布到服务器

<html>
<body>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>

<input id="default_file" type="file" name="music"/>


<script>
    $('#default_file').change(function(){    
//on change event  
alert("hi");
formdata = new FormData();
if($(this).prop('files').length > 0)
{
    file =$(this).prop('files')[0];
    formdata.append("music", file);
}
alert("hi2");

$.ajax({
url: "php_file_path.php",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (result) {
     alert(result);
     // if all is well
     // play the audio file
}
   });
   });
  </script>
  </body>
  </html>

PHP 文件

<?php
if ($_FILES["music"]["error"] == UPLOAD_ERR_OK)
{
    $file = $_FILES["music"]["tmp_name"];
 echo $file;
    // now you have access to the file being uploaded
    //perform the upload operation.
    //move_uploaded_file( $file, "uploads/" . $file);
}
echo "ji";
?>

推荐阅读