我的混合应用程序基于AngularJS并使用PHP REST api.
我想直接从我的Angular应用程序调试PHP api,而不是使用REST控制台或Postman.这将节省大量时间,特别是对于POST和PUT请求.
为此,我需要为每个请求添加一个参数,如下所示:
http://localhost:8000/api/contacts?XDEBUG_SESSION_START=PHPSTORM
我可以配置$http这样做吗?
解决方法
您可以使用httpInterceptor(官方$http
documentation包含更多信息)
// register the interceptor as a service $provide.factory('xdebugInterceptor',function($q) { return { // optional method 'request': function(config) { // do something on success // !!! adjust the config object // add request param XDEBUG_SESSION_START=PHPSTORM // it will be added to every made request config.params = config.params || {}; config.params.XDEBUG_SESSION_START: "PHPSTORM"; return config; },// optional method 'requestError': function(rejection) { // do something on error return $q.reject(rejection); },// optional method 'response': function(response) { // do something on success return response; },// optional method 'responseError': function(rejection) { // do something on error return $q.reject(rejection); } }; }); // make this conditional so you use it only in DEV mode $httpProvider.interceptors.push('xdebugInterceptor');