HTTP-запросы ресурсов Angular, отправленные с помощью accept: text/html в Firefox

Вывод ресурса работает в Chrome, но с объектом данных FF выглядит странно, есть массив с некоторым html, каждый символ там является отдельным элементом.

Вот такая у меня фабрика:

MyApp.factory('MyObj', 
    ['$resource', '$http', '$rootScope',
    function($resource, $http, $rootScope){
        return $resource('/api/objects/:id');
}]);

И вот как я использую его внутри контроллера:

MyApp.get(function(data) {
    $scope.objects = data['objects'];
});

Почему-то запрос к API отправляется с HTTP-заголовком:

Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"

Итак, есть заголовок ответа:

Content-Type:"text/html; charset=utf-8"

я пытался сделать

MetronicApp.config(function($resourceProvider, $httpProvider) {
  $httpProvider.defaults.headers.common['Content-Type'] = 'application/json; charset=utf-8';
  $httpProvider.defaults.headers.common['Accept'] = 'application/json';
});

но это не помогло.


person Dmitrii Mikhailov    schedule 26.04.2016    source источник
comment
Данной информации недостаточно?   -  person Daniel Cheung    schedule 26.04.2016
comment
Неправильные заголовки http вместе с запросом, не могу понять почему и почему это происходит только с FF.   -  person Dmitrii Mikhailov    schedule 26.04.2016
comment
Возможный дубликат: stackoverflow .com/questions/24465304/   -  person Sergiu Paraschiv    schedule 26.04.2016


Ответы (1)


Что ж, мне пришлось удалить rest_framework.renderers.BrowsableAPIRenderer из DRF DEFAULT_RENDERER_CLASSES. Однако это не лучшее решение, я бы хотел иметь доступный для просмотра API.

person Dmitrii Mikhailov    schedule 26.04.2016