2016-07-06 49 views
1

有没有一种方法可以读取URL模板,并在调用服务器之后通过所有参数(真正调用的URL)进行扩展?AngularJS$resource

这是为了记录的目的,当出现错误的电话我想记录实际的URL。

回答

0

你可以用拦截器来实现。这样你就不必把你的日志记录添加到所有的$ resources中。

这正好在app.js

// register the interceptor as a service 
$provide.factory('loggingInterceptor', function($q) { 
return { 
    // optional method 
    'request': function(config) { 
    return config; 
    }, 

    // optional method 
    'requestError': function(rejection) { 
    // log your error 
     return $q.reject(rejection); 
    }, 

    // optional method 
    'response': function(response) { 
    // do something on success 
     return response; 
    }, 

    // optional method 
    'responseError': function(rejection) { 
    // log your error 
     return $q.reject(rejection); 
    }}; 
    }); 

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

顺便说一句,你可以从请求方法“配置对象中获取的URL。只要做一个console.log(配置)并从那里拿起它。我觉得它的config.url

更多关于拦截器AgularJS $http service文档下的拦截器话题。

+0

配置对象不包含通过请求参数扩展的URL。 –

+0

你可以从'config.params'获得参数' – Srijith

+0

它不是扩展的URL(实际上由$ http调用的URL),你不能复制并粘贴到浏览器中来初始化问题。无论如何,谢谢你的回答。令人钦佩的是你的声誉如何增长。 –