我想使用AJAX和PHP将文件上传到服务器。到目前为止,这是我尝试过的方法,但对我不起作用。
服务器抛出此错误:
注意:未定义的索引:第3行的C:\ xampp \ htdocs \ authentication \ test.php中的文件
注意:未定义的索引:第7行的C:\ xampp \ htdocs \ authentication \ test.php中的文件
注意:未定义的索引:第7行的C:\ xampp \ htdocs \ authentication \ test.php中的文件
客户端代码:



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Form Generator</title>
 <link rel="stylesheet" type="text/css" href="style.css" />
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
 <script type="text/javascript" src="jquery-2.1.4.js"></script>
<script type="text/javascript">
function valid(){

    var file_data = $('#sortpicture').prop('files')[0];
    var form_data = new FormData();
    form_data.append('file', file_data);
    alert(form_data);
    $.ajax({
                url: 'test.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(data){
                    $('#result').html(data); // display response from the PHP script, if any
                }
     });
}
</script>
 </head>
<body>
<div id='result'></div>
<input id="sortpicture" type="file" name="sortpic" />
<button id="upload" onclick='valid()'>Upload</button>
</body>
</html>





这是客户端代码test.php:



<?php

    if ( 0 < $_FILES['file']['error'] ) {
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
        if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name'])){


			echo "file uploaded";
		}
    }

?>

最佳答案

这两行是错误的:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery-2.1.4.js"></script>




仅使用jQuery的一个版本:1.5.1或2.1.4(我建议使用最后一个)!

关于javascript - 如何使用PHP使用AJAX上传文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34550702/

10-12 12:27
查看更多