0

我正在开发前端是 AngularJS 而后端是 Laravel4 的项目。

我正在使用 barryvdh 的laravel-debugbar包作为调试器

我的问题是调试栏在第一次加载页面或刷新页面时显示数据

但是当我调用 api throw angular 资源时,它并没有被捕获。

我尝试了文档中发布的 AJAX 调用配置,但仍然无法正常工作。

在配置文件中:-

/*
     |------------------------------------------------- -------------------------
     | 捕获 Ajax 请求
     |------------------------------------------------- -------------------------
     |
     | Debugbar 可以捕获 Ajax 请求并显示它们。如果你不想要这个(即因为错误),
     | 您可以使用此选项禁用通过标头发送数据。
     |
     */

    'capture_ajax' => 真,

在我的控制器中:-

        Debugbar::addMessage('另一条消息', 'mylabel');
        Debugbar::warning('小心..');
        调试栏::sendDataInHeaders();

-ND

4

2 回答 2

2

在网上搜索了很长时间后,我得到了解决这个问题的方法

请将此代码添加到您的 app.js

  .factory('httpInterceptor', function($q) {

        var handle_phpdebugbar_response = 函数(响应){
             if (phpdebugbar && phpdebugbar.ajaxHandler) {

         var headers = response && response.headers && response.headers();
                如果(!标题){
                     返回;
                 }

        var headerName = phpdebugbar.ajaxHandler.headerName + '-id';
               var debugBarID = headers[headerName];
               if (debugBarID) {                           
                     phpdebugbar.loadDataSet(debugBarID, ('ajax'));
                 }
             }
       };

            返回 {
                请求:功能(配置){

                    返回配置 || $q.when(config);

                },
                响应:函数(响应){

                    如果(响应 || $q.when(响应)){

                        handle_phpdebugbar_response(响应);
                        返回响应 || $q.when(响应);
                    }


                },
                响应错误:函数(响应){

                    handle_phpdebugbar_response(拒绝);
                    返回 $q.reject(响应);
                }
            };
        })
     .config(函数($httpProvider) {

            $httpProvider.interceptors.push('httpInterceptor');

     })


这个在角度模块 ng-phpdebugbar

于 2014-07-11T12:57:12.090 回答
1

(Laravel5)

不要返回您的响应,而是将其发送到视图:

return \View::make('debug', ['data' => $response]);

代替

return response()->json($response); 

(不要忘记创建回显数据的视图)

于 2016-01-11T21:03:56.690 回答