Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的语法错误:意外标记<;控制台上的(匿名函数)_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 未捕获的语法错误:意外标记<;控制台上的(匿名函数)

Javascript 未捕获的语法错误:意外标记<;控制台上的(匿名函数),javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在创建一个上传文件应用程序。我使用AJAX和PHP编写了它 它在本地主机上运行良好,但当我将其上载到web服务器时。它返回错误: 未捕获的语法错误:意外标记 这是我的html表单 index.php <?php header('Content-Type: application/JSON'); $uploaded = []; $allowed = ['jpg']; $succeeded = []; $failed = []; if (!empty($_FILES['fi

我正在创建一个上传文件应用程序。我使用AJAX和PHP编写了它

它在本地主机上运行良好,但当我将其上载到web服务器时。它返回错误:

未捕获的语法错误:意外标记 这是我的html表单

index.php

 <?php
 header('Content-Type: application/JSON');
 $uploaded = [];
 $allowed = ['jpg'];
 $succeeded = [];
 $failed = [];
 if (!empty($_FILES['file'])) {

 foreach ($_FILES['file']['name'] as $key => $name) {

    if($_FILES['file']['error'][$key] === 0){
        $temp = $_FILES['file']['tmp_name'][$key];
        $ext = explode('.', $name);
        $ext = strtolower(end($ext));

        $file = md5_file($temp) . time() .'.'.$ext;

        if (in_array($ext,$allowed) === true && move_uploaded_file($temp, "uploads/{$file}") === true) {
                $succeeded [] = array('name' => $name, 'file' => $file);

            # code...
        }else{
            $failed[] = array('name' => $name );
        }

    }else{

        echo "Error";
    }
}
}

if (!empty($_POST['ajax'])) {
echo json_encode(array(
'succeeded' => $succeeded, 
'failed' =>$failed
));
}
?>
<form action="upload.php" method="post" enctype="multipart/form-data" id="upload" class="upload">
    <fieldset>
        <legend>Upload Files</legend>
        <input type="file" id="file" name="file[]" required multiple>
        <input type="button" id="submit" value="Upload">
    </fieldset>
    <div class="bar">
        <span class="barfill" id="pb"><span class="barfilltext" id="pt">40%</span></span>
    </div>
    <div id="uploads" class="uploads">

    </div>
    <script type="text/javascript" src="upload.js"></script>

    <script type="text/javascript">
        document.getElementById('submit').addEventListener('click', function(e){
                e.preventDefault();
            var f = document.getElementById('file'),
                pb = document.getElementById('pb'),
                pt = document.getElementById('pt');

                    app.uploader({
                    files:f,
                    progressBar:pb,
                    progressText:pt,
                    processor: 'upload.php',

                    finished: function(data){
                        var uploads = document.getElementById('uploads'),
                            succeeded = document.createElement('div'),
                            failed = document.createElement('div'), anchor, span, x;

                            if (data.failed.length) {
                                failed.innerHTML = '<p>The following files failed to upload</p>'
                            }
                            uploads.innerText = '' ;
                                anchor = document.createElement('p');
                                anchor.innerText = "Upload Completed!";
                                anchor.target = '_blank';
                                succeeded.appendChild(anchor);
                            for(x=0;x<data.failed.length; x=x+1){
                                span = document.createElement('span');
                                span.innerText = data.failed[x].name;
                                failed.appendChild(span);   
                            }
                            uploads.appendChild(succeeded);
                            uploads.appendChild(failed);
                    },
                    error: function (){
                        console.log("Error");
                    }
                });
            });
    </script>
</form>

上传文件
40%
document.getElementById('submit')。addEventListener('click',函数(e){
e、 预防默认值();
var f=document.getElementById('file'),
pb=document.getElementById('pb'),
pt=document.getElementById('pt');
app.uploader({
档案:f,
进度条:pb,
正文:pt,
处理器:“upload.php”,
完成:函数(数据){
var uploads=document.getElementById('uploads'),
成功=document.createElement('div'),
失败=document.createElement('div'),锚点,span,x;
if(data.failed.length){
failed.innerHTML='以下文件上载失败

' } uploads.innerText=''; anchor=document.createElement('p'); anchor.innerText=“上传完成!”; anchor.target='u blank'; 成功。追加子对象(锚);
对于(x=0;x您在upload.php中的代码末尾,在php结尾(
?>
)之前,缺少一个
}


使用浏览器的开发工具。查看Net选项卡。查看实际得到的响应。正如Quentin所说,错误源于解析器无法将返回的数据转换为有效的JSON。如果看不到确切的响应是什么,我们将无能为力,尽管考虑到
hi,听起来您正在返回HTML。由于我无法发布图像,因此我上传了控制台日志的屏幕截图Your upload.php返回了一个错误,无法通过JSON.parse解析,请打开开发工具(chrome)中的网络选项卡,再次执行该操作以获取错误,然后在网络选项卡中单击upload.php,然后单击Response,您将看到upload.php返回的内容它指向upload.php的第3行。我不知道它出了什么问题。这一行
 <?php
 header('Content-Type: application/JSON');
 $uploaded = [];
 $allowed = ['jpg'];
 $succeeded = [];
 $failed = [];
 if (!empty($_FILES['file'])) {

 foreach ($_FILES['file']['name'] as $key => $name) {

    if($_FILES['file']['error'][$key] === 0){
        $temp = $_FILES['file']['tmp_name'][$key];
        $ext = explode('.', $name);
        $ext = strtolower(end($ext));

        $file = md5_file($temp) . time() .'.'.$ext;

        if (in_array($ext,$allowed) === true && move_uploaded_file($temp, "uploads/{$file}") === true) {
                $succeeded [] = array('name' => $name, 'file' => $file);

            # code...
        }else{
            $failed[] = array('name' => $name );
        }

    }else{

        echo "Error";
    }
}
}

if (!empty($_POST['ajax'])) {
echo json_encode(array(
'succeeded' => $succeeded, 
'failed' =>$failed
));
}
?>
<form action="upload.php" method="post" enctype="multipart/form-data" id="upload" class="upload">
    <fieldset>
        <legend>Upload Files</legend>
        <input type="file" id="file" name="file[]" required multiple>
        <input type="button" id="submit" value="Upload">
    </fieldset>
    <div class="bar">
        <span class="barfill" id="pb"><span class="barfilltext" id="pt">40%</span></span>
    </div>
    <div id="uploads" class="uploads">

    </div>
    <script type="text/javascript" src="upload.js"></script>

    <script type="text/javascript">
        document.getElementById('submit').addEventListener('click', function(e){
                e.preventDefault();
            var f = document.getElementById('file'),
                pb = document.getElementById('pb'),
                pt = document.getElementById('pt');

                    app.uploader({
                    files:f,
                    progressBar:pb,
                    progressText:pt,
                    processor: 'upload.php',

                    finished: function(data){
                        var uploads = document.getElementById('uploads'),
                            succeeded = document.createElement('div'),
                            failed = document.createElement('div'), anchor, span, x;

                            if (data.failed.length) {
                                failed.innerHTML = '<p>The following files failed to upload</p>'
                            }
                            uploads.innerText = '' ;
                                anchor = document.createElement('p');
                                anchor.innerText = "Upload Completed!";
                                anchor.target = '_blank';
                                succeeded.appendChild(anchor);
                            for(x=0;x<data.failed.length; x=x+1){
                                span = document.createElement('span');
                                span.innerText = data.failed[x].name;
                                failed.appendChild(span);   
                            }
                            uploads.appendChild(succeeded);
                            uploads.appendChild(failed);
                    },
                    error: function (){
                        console.log("Error");
                    }
                });
            });
    </script>
</form>
'failed' =>$failed
));
}
}
?>