我是这个Laravel Debugbar的新手,我已经使用composer安装了Laravel Debugbar,并运行以下发布命令。
php artisan vendor:publish --provider="BarryvdhDebugbarServiceProvider"
在此之后,调试栏开始出现,并显示它运行的所有查询。但在这个查询列表中,它不包括任何来自ajax请求的查询。
为了捕获ajax请求,我更新了config/debugbar
'capture_ajax' => true,
'add_ajax_timing' => true,
但是,它不起作用。
我将回复为:
return response()->json([
//arr_of_data
],200);
使用以下数据表帮助了我:
<script>
$('body').on('xhr.dt', function (e, settings, data, xhr) {
if (typeof phpdebugbar != "undefined") {
if (xhr.getAllResponseHeaders()) {
phpdebugbar.ajaxHandler.handle(xhr);
}
}
});
</script>
参考:此处
还有另一个独立于查询选项卡的选项卡,您可以在其中查看有关ajax请求的信息。这是左手边的最后一个标签。请参阅附图。调试条请求选项卡
设置标题
X-Requested-With: XMLHttpRequest
请确保您拥有对存储/调试栏文件夹的完全访问权限!
有一次,我决定把storage/debugbar放在.gitignore中,却没有注意到那里有一个.gitigner文件,上面写着从git中排除里面的所有内容。因此,当我在服务器上部署它时,我只看到页面上的第一个请求(当我在本地测试它时,知道ajax请求显示在下拉列表中(。我还注意到历史记录(栏右侧的文件夹图标(是空的。发现storage/debugbar文件夹没有写访问权限,所以当我给它chmod 777 storage/debugbar
时,所有的请求都出现了。(然后我把它从.gitignore中删除(
确保.env
中的APP_URL
与您访问应用程序的位置相同。我在使用ngrok时也遇到了同样的问题。