让我们建立一个简单的例子:
$scope.whatDoesTheFoxSay = function(){ $http.post("/backend/ancientMystery", { ...
我如何全局转换发送请求的URL?本质上,我想为每个http请求添加一个URL。
我尝试过的是$rootScope在应用程序启动时在包含URL的位置设置变量。但这不是我想要我的代码看起来像的样子:
$rootScope
$scope.whatDoesTheFoxSay = function(){ $http.post($rootScope.backendUrl + "/backend/hidingDeepInTheWoods", { ...
我是否应该考虑研究是否正确$httpProvider.defaults.transformRequest?谁能给我一些基本的示例代码?
$httpProvider.defaults.transformRequest
我有另一种使用带有$ http的请求拦截器的方法,它将在一个公共位置处理所有url。
<!doctype html> <html ng-app="test"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.js"></script> </head> <body ng-controller="test" > <!-- tabs --> <script> var app = angular.module('test', []); app.config(function ($httpProvider) { $httpProvider.interceptors.push(function ($q) { return { 'request': function (config) { config.url = config.url + '?id=123'; return config || $q.when(config); } } }); }); app.controller('test', function ($scope,$http) { $http.get('Response.txt').success(function (data) { alert(data) }).error(function (fail) { }); }); </script> </body> </html>