如何通过ajax传递文件数组数据以及如何在php文件中接收数据?

时间:2015-03-02 17:58:59

标签: javascript php arrays ajax json

如何通过ajax传递文件数组数据以及如何通过php文件接收数据?

请将此问题的示例代码发给我。我有FormData的数据($(this)[0])但是获取了一些问题。第一次没有从文本区域获取任何数据(刷新页面,即第一次加载页面后)。但第二次我得到了(不刷新页面)。

我已经制作了一些代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="jquery-1.6.4.min.js" type="text/javascript"></script>
</head>

<body>

    <script>        
        $(document).ready(function() {
            $("form#formD").submit(function(event){             
                event.preventDefault();
                var name = $("#name").val();
                var text = $("#text").val();
                var upload = $("#upload").val();
                $.ajax({
                    type: "POST",
                    url: "test.php",
                    data: {"name" : name, "" : text, "upload" : JSON.stringify(upload)},
                    dataType: 'json',
                    async: false,
                    cache: false,
                    contentType: false,
                    processData: false,                     
                    beforeSend: function(){ $("#send").val('Sending...'); },
                    success: function( html ){  
                        alert( html );
                        $("#send").val('send');
                    }
                });             
                return false;
            });
        });     
    </script>
    <form id="formD" action="" method="POST" enctype="multipart/form-data" accept-charset="utf-8">
    <label>File name</label>: <input type="text" name="name" id="name" required /><br /><br />
    <label>File Description</label>: <textarea id="text"></textarea><br /><br />
    <label>Select File</label>: <input type="file" name="upload[]" id="upload[]" required /><br />
    <input type="submit" value="send" id="send" />
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

在PHP文件中,您将使用超级全局$ _POST。 这是通过POST命令传递的所有数据的数组。

要遍历它,就像

foreach($_POST as $sPostKey => $sPostValue) {

    // do stuff here

}

请记住使用json_decode将JSON转换为PHP中可用的内容。