Ich baue eine Anwendung, die CORS-Anfragen verwendet. Jede Anfrage i verwenden Host-Adresse von einem konstantenWie ist es möglich, einige Einstellungen aus der .json-Datei zu laden, bevor die eckige App startet
angular.module('siteApp').constant('baseUrl', {
'server':'htttp://localhost/',
})
bekommen Und in jedem Service, den ich verwenden Anfrage wie folgt an:
angular.module('siteApp').factory('DocsSvc', function ($http, baseUrl) {
var baseurl = baseUrl.server ;
$http.get(baseurl + 'document')
Ist es möglich zu machen 'htttp: // localhost /' Wert - kam aus der Datei config.json in baseUrl constant oder baseUrl factory? ich meine: wie kann ich etwas von Ajax-Request laden ein, es zu App-Module
Ich habe versucht, zugänglich machen: von baseUrl
.run(['$rootScope', , function ($rootScope) {
$.ajax('config.json', {async: false})
.success(function (data) {
$rootScope.HOST = data.HOST;
});
Und versucht, darauf zuzugreifen:
angular.module('siteApp').factory('baseUrl',function($rootScope) {
return {
server: $rootScope.HOST
Aber kein Glück - die BaseUrl.server kommt undefiniert in Funktionen
Bitte schauen Sie in die aktualisierte Frage: Ich hatte versucht, so etwas zu tun, aber ohne Erfolg – happyZZR1400
Siehe die aktualisierte Antwort und Plumer. es funktioniert :) – vinesh
Sie müssen das config-loaded-Ereignis nur für Controller abhören, die zu Beginn geladen werden. Denn in diesem Fall wird der Controller aufgerufen, bevor die JSON-Datei geladen wird. – vinesh