2017-05-31 11 views
0

私はLaravelアプリケーションでAngularJSを使用しています。 AngularJSでPHP LaravelのAPP_URL値を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/" ; 

AngularJSにAPP_URLを渡すためにクリーンな方法は何。 APP_URLをすべてのAngularJSアプリで使用できるように、グローバルに設定する方法はありますか?

答えて

0

ヘッダーに印刷するのはどうですか?

<script> 
window.app_url = {{env('APP_URL')}} 
</script> 
</head> 

次に、それ以降はwindow.app_urlまたはapp_urlからアクセスできます。

+0

スーパーとして、角度コントローラで$ rootScope.urlを使用することができ、私

In blade <script type="text/javascript"> var _url= {{env('APP_URL')}}; </script> In Angular Module angular.module('testAPp', []) .run(function($rootScope) { $rootScope.url= _url; }); 

のために働きます!出来た。ありがとう – user3489502

0
おそらく

ない最善の解決策が、それは今、あなたは

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/" ; 
+1

優れたソリューションもあります。ありがとう! – user3489502

関連する問題