Javascript 在laravel 5.6中使用ajax发布图像
我想为ckeditor创建一个上载适配器 我的laravel 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();
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对象