Stackoverfow shows that people are searching How to intercept $resource requests.
Recently we have written about the way to cancel angularjs $resource requests (see Cancel angularjs resource request). Here we apply the same technique to intercept resource request.
Consider a sample (nesterovsky-bros/angularjs-api/master/angularjs/transform-request.html):
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Intercept resource request</title> <style type="text/css">.ng-cloak { display: none; }</style> <script src="angular.js"></script> <script src="angular-resource.js"></script> <script> angular.module("app", ["ngResource"]). factory( "services", ["$resource", function ($resource) { return $resource( "http://md5.jsontest.com/", {}, { MD5: { method: "GET", params: { text: null }, then: function (resolve) { this.params.text = "***" + this.params.text + "***"; this.then = null; resolve(this); } }, }); }]). controller( "Test", ["services", function (services) { this.value = "Sample text"; this.call = function() { this.result = services.MD5({ text: this.value }); } }]); </script> </head> <body ng-app="app" ng-controller="Test as test"> <label>Text: <input type="text" ng-model="test.value" /></label> <input type="button" value="call" ng-click="test.call()"/> <div ng-bind="test.result.md5"></div> </body> </html>
$resource
config
$http
promise
then
The demo can be found at transform-request.html
Remember Me
a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u