2016-04-26 11 views
0

Ich bin neu in AngularJs und ich versuche, wirklich meine Meinung über die Verwendung von $ Ressource, um den HTTP-Status-Code, der zurückgegeben wurde Ich habe diese Fabrik, die ich mit einer Art, die ich habe versucht, den HTTP-Header ohne Erfolg zu implementieren.

app.js

.factory("Resource", function ($resource, baseUrl) { 
      return $resource(baseUrl + "rest/sessionId", 
       {}, 
       {getSessionId: {method: "GET"}}, 
       get: 
      { 
       method: 'GET' 
       interceptor: { 
        response: function (response) { 
         var result = response.resource; 
         result.$status = response.status; 
         return result; 
        } 
       } 
      } 
      ); 
     }) 
+0

benötigen Sie die Kopfzeile oder den Statuscode? – thegio

+0

der Statuscode. – user2402107

Antwort

2

Wenn Sie AngularJS neu sind, empfehle ich Ihnen die $ HTTP-Dienst zu verwenden:

https://docs.angularjs.org/api/ng/service/ $ http

// Simple GET request example: 
$http({ 
    method: 'GET', 
    header:{"content-type":"text"}, 
    url: '/baseUrl' 
}).then(function successCallback(response) { 
    // this callback will be called asynchronously 
    // when the response is available 

      console.log(response.status) 

    }, function errorCallback(response) { 
    // called asynchronously if an error occurs 
    // or server returns response with an error status. 
    }); 

Andernfalls müssen Sie einen Interceptor zu verwenden, aber aus meiner Sicht ist derzeit und Overkill:

.factory("Resource", function ($resource, baseUrl) { 
    var resource = $resource(url, {}, { 
     get: { 
      method: 'GET' 
      interceptor: { 
       response: function(response) {  
        var result = response.resource;   
        result.$status = response.status; 
        return result; 
       } 
      } 
     }        
    }); 

return resource; 
}); 

können Sie es von der Fabrik zurückgeben.

+0

Leider ist es bereits Setup mit allen meinen Fabriken, $ Ressource zu verwenden .... aber der Interceptor ist keine schlechte Idee. Wie würdest du es auf meinen Code anwenden? – user2402107

+0

Kann ich den Interceptor einfach zur Fabrik hinzufügen? Ich weiß wirklich nicht, wie ich mich auf meine Situation anwenden soll. – user2402107

+0

ja Sie können es innerhalb der Fabrik tun – thegio

Verwandte Themen