【发布时间】:2019-12-04 16:48:45
【问题描述】:
我有一个 Laravel 控制器,它会在用户登录时返回一个图像:
public function show($file)
{
$path = storage_path('app/files/' . basename($file));
if(!\Auth::check() || !\File::exists($path) return back();
return response()->file($path);
}
当我在浏览器中输入my-domain.com/show/image.png 时,图像会在我登录时显示。
当我登录并使用简单的 jQuery ajax 调用时,它也可以工作:
$.get('https://my-domain.com/show/image.png', '', function(data){
console.log('success');
console.log(data);
}
但是,当我记录它并通过 DYMO JS Framework 3.0 (Docs) 使用 ajax 调用时,它突然不再工作了。
更准确地说,当我打电话时
dymo.label.framework.loadImageAsPngBase64('https://my-domain.com/show/image.png');
我收到一个错误,即没有返回图像。当我在控制器中删除 !\Auth::check() 时,它就可以工作了。
为什么Auth 不能与第 3 方库 ajax 调用一起使用?有什么我可以解决的吗?
【问题讨论】:
标签: ajax laravel authorization dymo