Заголовки настроек AngularJS $http

Я пытаюсь установить http в AngularJS, но, похоже, я делаю что-то не так.

app.controller("mainCtrl", function ($scope, $http) {
    $http({
        method: 'GET',
        url: '***',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        }
    }).success(function (data, status, headers, config) {
        console.log("data", data);
        console.log("status", status);
        console.log("headers", headers);
        console.log("config", config);
    }).error(function (data, status, headers, config) {
        console.log("data", data);
        console.log("status", status);
        console.log("headers", headers);
        console.log("config", config);
    })
})

Меня больше всего интересует установка accept: json, но если я проверю заголовки запросов в инструментах разработчика Google Chrome, он всегда просто говорит Accept:\*/\*.

РЕДАКТИРОВАТЬ: CORS установлен на сервере, и я все еще не получаю ответа на эту ошибку.

XMLHttpRequest cannot load http://inpro.smid.co.cz:8080/InproRestApi/webresources/entities.regions. Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.

person Jan Omacka    schedule 22.11.2015    source источник


Ответы (2)


Это может быть проблема CORS, если вы проверили, настроил ли сервер заголовок Access-Control-Allow-Origin.

person Niels    schedule 22.11.2015
comment
Это не так. Я посмотрю, когда это будет реализовано тогда. Благодарность - person Jan Omacka; 22.11.2015
comment
Заголовок Access-Control-Allow-Origin имеет значение * - person Jan Omacka; 22.11.2015
comment
Привет Ян, я только что проверил ваш сервер (тот, что в вашем сообщении об ошибке). Выдаваемая им ошибка указывает на то, что это проблема на стороне сервера. Я думаю, что заголовок управления доступом не установлен на *, как вы предполагаете. Я проверил ваш фрагмент, и он работает нормально (на другом сервере). Вы можете проверить это самостоятельно, используя https://httpbin.org/. - person Niels; 22.11.2015
comment
Привет, спасибо за помощь, Нильс. Раньше он у нас был, сейчас мы начали играться с его настройками и он снова пропал. - person Jan Omacka; 23.11.2015

Упростите добавление, как показано ниже, в свой класс контроллера.

@CrossOrigin(origins = "*") открытый класс Controller {

person Narayana    schedule 29.08.2017
comment
в то время как ответы только на код могут ответить на вопрос в этом случае, лучше включить WHY ваш ответ устраняет проблему OP, чтобы они могли учиться на своем опыте - person TheRealMrCrowley; 30.08.2017