我在Laravel应用程序中使用AngularJS。
在AngularJS中,我使用:
$location.host()
获取我应用的域名(例如:www.example.com)并访问我的API,例如:
var url = $location.protocol() + "://" + $location.host() + "/api/products/" ;
现在我更改了服务器,我的主应用位置从www.example.com
转到www.example.com/here
。 $location.host()
给了我www.example.com
,但不是/here
部分。
我正在尝试找到一种方法来使用Laravel的APP_URL值(包含我的主应用程序位置)并将其传递给AngularJS:
var app = angular.module("appProducts");
app.controller("CtrlUserSchedule", ['$scope', '$http', '$location', '$modal', function($scope, $http, $location, $modal) {
--> var laravelUrl = ** get php APP_URL value here **;
var apiUrl = laravelUrl + "/api/products/" ;
将APP_URL传递给AngularJS的最简洁方法是什么。有没有办法全局设置它所以我的所有AngularJS应用程序都可以使用APP_URL?
答案 0 :(得分:0)
如何简单地在标题中打印出来?
<script>
window.app_url = {{env('APP_URL')}}
</script>
</head>
然后只需从window.app_url或app_url访问它。
答案 1 :(得分:0)
可能不是最好的解决方案,但它对我有用
In blade
<script type="text/javascript">
var _url= {{env('APP_URL')}};
</script>
In Angular Module
angular.module('testAPp', [])
.run(function($rootScope) {
$rootScope.url= _url;
});
现在你可以在角度控制器中使用$ rootScope.url作为
var app = angular.module("appProducts");
app.controller("CtrlUserSchedule", ['$scope','$rootScope', '$http', '$location', '$modal', function($scope, $rootScope, $http, $location, $modal) {
var apiUrl = $rootScope.url + "/api/products/" ;