2016-07-15 21 views
2

Ich versuche, eine Post-Anfrage über Restangular zu senden. Ich möchte Json in Inhalt übergeben, so habe ich Standard-Header in Post-Anfrage hinzugefügt, aber es gab immer noch 415 nicht unterstützten Medien Typ. Wenn ich die Anforderungsheader im Browser überprüfte, wird immer noch text/plain angezeigt. Dies ist meine FunktionRestangular nicht in der Lage, Standard-Header zu setzen

this.create = function(data) { 
     var deferred = $q.defer(); 
     var User = Restangular.all('user'); 

     User.post(data, {}, {'Content-Type': 'application/json'}) 
     .then(function(data) { 
      $timeout(function() { 
      deferred.resolve(data); 
      }); 
     }, function(error) { 
      deferred.reject(error); 
     }); 
     return deferred.promise; 
    } 

Die GET-Anforderung wie erwartet funktioniert. Aber ich kann den Inhaltstyp im Header der POST-Anfrage nicht festlegen?

Ich versuchte auch global Thorugh

.config(function($httpProvider, ServiceSettings, RestangularProvider) { 

     console.log("urlddd " + ServiceSettings.apiUrl); 

     RestangularProvider.setBaseUrl(ServiceSettings.apiUrl + '/api/'); 

     RestangularProvider.setRestangularFields({ 
      etag: 'Etag' 
     }); 
     RestangularProvider.setDefaultHeaders({ 
      'Content-Type': 'application/json' 
     }); 
     $httpProvider.interceptors.push('authInterceptor'); 
    }); 

aber das auch vermöge Arbeit dieser Header zu setzen. Ich habe auch versucht this aber kein Glück. Kann jemand helfen?

Dank

Antwort

0

Ich habe unter Anweisung in meiner Config ein Abfangjäger Erstellen und Einstellen jede Anforderung mit diesem Inhaltstyp endet und das Hinzufügen.

$httpProvider.interceptors.push('interceptor');