2016-04-18 21 views
0

ich einige $ HTTP-Anfragen auf meinen Code haben wie:

$http.get('http://test/api/ams/v1_0/courses') 

und ich möchte die URL setzen http://test/api/ams/v1_0/courses auf einem JSON, viel zu haben von URLs gespeichert, wenn ich also eine ändern muss, muss ich nur in die JSON-Konfigurationsdatei gehen, weiß jemand, wie kann ich das tun?

Antwort

0

Wenn Sie etwas wie browserify verwenden, können Sie so etwas in Ihrer js-Datei tun.

var config = require('./configs/config'); 

Ihre JSON-Datei würde so aussehen;

Wo config ist eine .json-Datei, und die Erweiterung wird nicht benötigt. Sie könnten dann mit der üblichen Objektnotation wie config.url darauf zugreifen;

So $http(config.url + '/courses')... 

könnten Sie dann speichern Sie so etwas wie

ODER

Verwenden Angular konstante Werte, die in Ihrem Fall könnte noch besser sein.

angular.module('App') 
    .constant('API_ENDPOINT', { 
     url: 'https://api.example.com' 
    }); 

und die Verwendung API_ENDPOINT.url + 'Kurse' in Ihrem $ http, nur nicht vergessen, API_ENDPOINT in Ihrer Abhängigkeit umfassen/beinhalten Erklärungen, wo es gebraucht wird.

Sie könnten API_ENDPOINT auch zu einem vollständigeren Objekt machen und es CONFIG nennen und mehrere Werte darin eingeben.

Es ist Ihre Wahl, ob Sie Konstanten oder Json verwenden, aber ich neige dazu, Konstanten selbst zu verwenden.

Bitte benennen Sie den konstanten Wert in Großbuchstaben, wie es Konvention ist, aber es funktioniert unabhängig von Groß- und Kleinschreibung.

0

so etwas wie dies in der Steuerung -

self.getData = $http.get('path').then(function success(a, b) { 
    self.data = a; 
}, function error(a, b) { 
    self.data = false; 
});