Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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/1/php/244.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 在laravel 5.6中使用ajax发布图像_Javascript_Php_Ajax_Laravel - Fatal编程技术网

Javascript 在laravel 5.6中使用ajax发布图像

Javascript 在laravel 5.6中使用ajax发布图像,javascript,php,ajax,laravel,Javascript,Php,Ajax,Laravel,我想为ckeditor创建一个上载适配器 我的laravel ajax应用程序有问题 这是我的密码 export default class UploadAdapter { constructor(loader) { this.loader = loader; } upload() { return new Promise((resolve, reject) => { let data = new FormData();

我想为ckeditor创建一个上载适配器

我的laravel ajax应用程序有问题

这是我的密码

export default class UploadAdapter {
    constructor(loader) {
        this.loader = loader;
    }

   upload() {
    return new Promise((resolve, reject) => {
        let data = new FormData();
        data.append('upload', this.loader.file);


        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: '/loadImage',
            type: 'POST',
            data: data,
            dataType: 'json',
            async:false,
            processData: false,
            contentType: false,
            success: function (data) {
                console.log(data.get('upload'));
            },
            error: function (request, status, error) {
                console.log(error);
            }
        });
     });
   }
}
我坚持用ajax对laravel控制器进行响应

以下是我的控制器功能:

       try {
            $file = $request->file('upload');

            $uploader = MediaUploader::fromSource($file);
            $uploader->setAllowedMimeTypes(['image/jpeg', 'image/gif', 'image/png']);
            $uploader->setAllowedExtensions(['jpg', 'jpeg', 'png', 'gif']);
            $media = $uploader->upload();

            return response()->json([
                'uploaded' => true,
                'url' => $media->getUrl()
            ]);
        } catch (\Exception $e) {
            return response()->json(
                [
                    'uploaded' => false,
                    'error' => [
                        'message' => $e->getMessage()
                    ]
                ]
            );
        }
这是我的错误

SyntaxError: Unexpected end of JSON input
    at parse (<anonymous>)
    at ajaxConvert (app.js:11826)
    at done (app.js:12294)
    at XMLHttpRequest.<anonymous> (app.js:12587)
SyntaxError:JSON输入意外结束
在parse()处
在ajaxConvert(app.js:11826)
完成时(app.js:12294)
在XMLHttpRequest。(附录js:12587)
我的代码中有什么错误

我无法在laravel controller中获取文件信息

我如何解决这个问题。。。?请帮帮我

您有数据-空

JSON.parse(''); // SyntaxError: Unexpected end of input
添加验证:

data = data != "" ? $.parseJSON(data) : {};

是否有此错误的堆栈跟踪?我更新了整个错误报告?这是在发送请求之前或之后发生的错误?您可以查看chrome devtools/firebug的“网络”选项卡来检查它。您可以使用控制台检查服务器的原始响应并确保它将有效的json发送回您吗?我在“网络”选项卡中检查了请求。请求状态代码是200,在请求负载中有我的图像文件的信息。没有,我通过console.log(data.get('upload'))检查了它;它不是空的Formdata对象