没有捕捉AJAX调用(Angular调用)



我正在做一个前端是AngularJS的项目;后端是Laravel4.

我使用barryvdh的larvel -debugbar包作为调试器

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

但是当我调用api throw angular resource时,它是不捕获的。

我尝试了AJAX调用配置,张贴在文档中,但仍然不工作。

配置文件:-

<>之前/*|--------------------------------------------------------------------------|捕获Ajax请求|--------------------------------------------------------------------------|Debugbar可以捕获Ajax请求并显示它们。如果你不想要这个。因为错误),您可以使用此选项来禁用通过报头发送数据。|*/'capture_ajax' => true,之前

And In My Controller:-

<>之前Debugbar::addMessage('Another message', 'mylabel');Debugbar:警告("小心…");Debugbar: sendDataInHeaders ();之前

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

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

<>之前.factory('httpInterceptor', function($q) {Var handle_phpdebugbar_response = function(response) {if (phpdebugbar && phpdebugbar. ajaxhandler) {Var headers = response && response。Headers && response.headers();If (!headers) {返回;}var headerName = phpdebugbar.ajaxHandler.headerName + '-id';var debugBarID = headers[headerName];if (debugBarID) {phpdebugbar。loadDataSet (debugBarID (ajax));}}};返回{请求:函数(配置){返回config || $q.when(config);},响应:function(Response) {If (response || $q.when(response)) {handle_phpdebugbar_response(响应);返回响应|| $q.when(response);}},responseError:函数(响应){handle_phpdebugbar_response(拒绝);返回q.reject美元(响应);}};})之前<>之前过程(函数(httpProvider美元){美元httpProvider.interceptors.push("httpInterceptor");})之前

这个在angular模块ng-phpdebugbar

(Laravel5)

不返回响应,而是发送给视图:

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

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

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

相关内容

  • 没有找到相关文章

最新更新