2016-07-15 102 views
2

我想通过Restangular发送一个帖子请求。我想在内容中传递json,所以我在post请求中添加了默认标题,但仍然给了415 Unsupported media Type。当我在浏览器中检查请求标题时,它仍然显示文本/纯文本。 这是我的功能Restangular不能设置默认标题

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; 
    } 

如预期的GET请求工作。但我无法在POST请求的标题中设置内容类型?

我也试着全局设置这个头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'); 
    }); 

但也力的工作。我也试过this,但没有运气。任何人都可以帮忙吗?

感谢

回答

0

我已经结束了创建一个拦截器,并设置与内容类型每个请求,并在我的配置添加以下语句。

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