Javascript 多文件上载只添加一个文件

Javascript 多文件上载只添加一个文件,javascript,php,ajax,Javascript,Php,Ajax,我试图用php实现多文件/图像上传,但我得到的只是上传文件夹中的一个文件,表单是通过ajax发送的。这是我的代码: <input type='file' id='_file' multiple="multiple" name="SelectedFile[]"> <input type='button' id='_submit' value='Upload!'> 我仍然出现未知错误:[]从outputJSON函数中删除die调用,并使用echo,它将在foreach的第

我试图用php实现多文件/图像上传,但我得到的只是上传文件夹中的一个文件,表单是通过ajax发送的。这是我的代码:

<input type='file' id='_file' multiple="multiple" name="SelectedFile[]"> 
<input type='button' id='_submit' value='Upload!'>
我仍然出现未知错误:[]

从outputJSON函数中删除die调用,并使用echo,它将在foreach的第一个循环中终止脚本

更新:

假设文件已正确上载并存储在$_files数组中,js应能解析此代码输出:

header('Content-Type: application/json');
$output = array();
foreach ($_FILES['SelectedFile'] as $f => $file) {
    $output []= array(
       'data' => 'File uploaded successfully to "' . 'upload/' . $file['name'],
       'status' => 'success',
    );
}
echo json_encode($output);

我已经更新了我的问题我还没有定义:没有定义的回答,还有一个文件上传;这是完整的php文件Dude,你的JS代码将响应视为有一个文件,你得到的JSON响应有一个文件数组,所以你可能想在JS中做一个循环并打印所有文件名。好的,我有一个循环,但是仍然有一个错误,也许php仍然有问题?我的意思是循环resp来打印收到的输出,检查它,我更新了小提琴
    var data = new FormData();
    data.append('SelectedFile', _file.files[0]);

    var request = new XMLHttpRequest();
    request.onreadystatechange = function(){
        if (request.readyState == 4){
            try {
                var resp = JSON.parse(request.response);
            } catch (e){
                var resp = {
                    status: 'error',
                    data: 'Unknown error occurred: [' + request.responseText + ']'
                };
            }
            console.log(resp.status + ': ' + resp.data);
        }
    };

    request.upload.addEventListener('progress', function(e){
        _progress.style.width = Math.ceil(e.loaded/e.total) * 100 + '%';
    }, false);

    request.open('POST', 'upload.php');
    request.send(data);
header('Content-Type: application/json');
$output = array();
foreach ($_FILES['SelectedFile'] as $f => $file) {
    $output []= array(
       'data' => 'File uploaded successfully to "' . 'upload/' . $file['name'],
       'status' => 'success',
    );
}
echo json_encode($output);