Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.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 在Safari 9.1上,jQuery ajax调用未触发成功函数_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 在Safari 9.1上,jQuery ajax调用未触发成功函数

Javascript 在Safari 9.1上,jQuery ajax调用未触发成功函数,javascript,jquery,ajax,Javascript,Jquery,Ajax,在一个项目中,我有一个特定的ajax调用,它在PC Chrome/Firefox上运行良好,但在Safari 9.1上它无法触发成功函数 ajax调用: $('#new_file_form').submit(function(e) { e.preventDefault(); var form_data = new FormData($(this)[0]); $.ajax({ url: '/i

在一个项目中,我有一个特定的ajax调用,它在PC Chrome/Firefox上运行良好,但在Safari 9.1上它无法触发成功函数

ajax调用:

$('#new_file_form').submit(function(e) {
            e.preventDefault();
            var form_data = new FormData($(this)[0]);

            $.ajax({
                url: '/includes/ajax/file-manager.php',
                type: 'POST',
                data: form_data,
                processData: false,
                contentType: false,
                success: function(result) {
                    JSON.parse(result);
                    alert(result);
                    if (result == true) {
                        $('#new_file_form').reset;
                        $('#new_file_modal').modal('hide');
                        bootbox.alert({
                            size: 'small',
                            message: '<i class="glyphicon glyphicon-info-sign blue"></i>File successfully saved.',
                            callback: function() {
                                location.reload();
                            }
                        });
                    } else if (result == false) {
                        bootbox.alert({
                            size: 'small',
                            message: '<i class="glyphicon glyphicon-exclamation-sign orange"></i>File not saved.',
                            callback: function() {
                                location.reload();
                            }
                        });
                    } else {
                        bootbox.alert({
                            size: 'small',
                            message: '<i class="glyphicon glyphicon-exclamation-sign orange"></i>Whoa! That escalated quickly..',
                            callback: function() {
                                location.reload();
                            }
                        });
                    }
                },
                error: function(xhr, ajaxOptions, thrownError) {
                    alert(xhr.status);
                    alert(thrownError);
                }
            });
        });
当我在解析ajax结果之前向其发出警报时,会出现一个PHP错误:
严格标准:只有变量应该通过引用传递…

我刚刚在浏览器(Safari 9.1)上复制了此表单/脚本,它似乎可以工作。您是否在Safari的错误控制台中收到任何报告?是的,它确实返回“SyntaxError JSON Parse Error:Unrecogned token.尝试检查您的响应JSON=>是否可以将其发布到此处?检查以下链接:另一个:我刚刚在浏览器上复制了此表单/脚本(Safari 9.1)这似乎是可行的。您在Safari的错误控制台中收到任何报告吗?是的,它确实返回“SyntaxError JSON Parse Error:Unrecogned token.尝试检查您的响应JSON=>您可以将其发布到此处吗?检查以下链接:另一个:
if(!empty($_POST['file_name']) && !empty($_POST['file_type']) && !empty($_POST['file_user'])) { // && !empty($_FILES['file'])
    $ownerid = $mysqli->real_escape_string($_POST['file_user']);
    $ownertype = 1;
    $name = $mysqli->real_escape_string($_POST['file_name']);
    $visible = $mysqli->real_escape_string($_POST['visible']);
    $filetype = $mysqli->real_escape_string($_POST['file_type']);

    $ownerid = filter_var($ownerid, FILTER_SANITIZE_NUMBER_INT);
    $visible = filter_var($visible, FILTER_SANITIZE_NUMBER_INT);
    $filetype = filter_var($filetype, FILTER_SANITIZE_NUMBER_INT);

    $cdate = date('Y-m-d H:i:s');
    $edate = $cdate;

    $u_file_name = $_FILES['file']['name'];
    $u_tmp_file = $_FILES['file']['tmp_name'];
    $u_file_type = $_FILES['file']['type'];
    $u_file_error = $_FILES['file']['error'];
    $u_file_content = file_get_contents($_FILES['file']['tmp_name']);

    $upload_result = '';

    if($u_file_error == 'UPLOAD_ERROR_OK') {
        if($u_file_name == '') {
            $upload_result = false;
        } else {
            $sql = "SELECT path FROM filetypes WHERE id = '$filetype'";
            $result = $mysqli->query($sql);
            $record = $result->fetch_object();
            $file_type_path = $record->path;

            $extension = end(explode(".", $u_file_name));
            if($ownertype == 1) {
                $s_file_name = preg_replace("![^a-z0-9]+!i", "-", $name).'-'.date('Y-m-d_H-i').'.'.$extension;
                $s_file_dest = LOCAL_BASE_PATH.'/uploads/'.$ownerid.'/'.$file_type_path;
                $s_file_location = $s_file_dest.'/'.$s_file_name;
                $s_file_path = '/uploads/'.$ownerid.'/'.$file_type_path.$s_file_name;
            }
            if(!file_exists($s_file_dest)) {
                mkdir($s_file_dest, 0755, true);
            }
            move_uploaded_file($u_tmp_file, $s_file_location);

            $sql = "INSERT INTO files (ownertype, owner, type, visible, extension, name, path, cdate, edate) VALUES ('$ownertype', '$ownerid', '$filetype', '$visible', '$extension', '$s_file_name', '$s_file_path', '$cdate', '$edate')";
            $result = $mysqli->query($sql);

            $upload_result = true;
        }
    }

    echo json_encode($upload_result);
    exit();
}