Ответ $http возвращает весь index.html

У меня есть site.com. Каждый запрос перенаправляется сюда (так что «site.com/book», «site.com/settings» и т. д. указывают на «site.com»). Затем у меня есть site.com/api/, где «site.com/api/user», «site.com/api/library/» и т. д. перенаправляются.

Я пытаюсь использовать $http AngularJS для запроса объекта JSON на site.com/api. В случае успеха я получаю статус 200, но ответ представляет собой текст/html «site.com/index.html».

Заголовки, отправляемые с запросом: Accept: "application/json, text/plain, /" Content-Type: application/json;charset=utf-8

Я попытался отладить site.com/api/ с помощью почтальона приложения, и он работает, как и ожидалось, поскольку я получаю правильный объект JSON.

Я не знаю, является ли это проблемой какого-либо правила .htaccess или $routeProvider AngularJS... (у меня есть файл .htaccess в «site.com», а другой — в «site.com/api»). Но я мог бы быть совершенно не в дороге. Может быть, кто-то может помочь? Спасибо.

var config = {method: 'POST', url: 'site.com/api/', data: $scope.data};
$scope.login = function(){
    $http(config)
    .success(function(resp, status, headers, config){
        console.log(resp);
    })
    .error(function(resp, status, headers, config){
        console.log(status);
    });
};

person commonUser    schedule 26.09.2014    source источник
comment
Пожалуйста, опубликуйте угловую часть кода (или, в качестве альтернативы, удалите угловой тег)   -  person New Dev    schedule 26.09.2014


Ответы (1)


Хорошо, я попробовал еще раз с более ясным умом сегодня утром. Кажется, я пропустил часть http в URL-адресе site.com/api/.

Таким образом, он может работать как с

var config = {method: 'POST', url: 'http://example.com/api/', data: $scope.data};

or

var config = {method: 'POST', url: '/api/', data: $scope.data};
person commonUser    schedule 26.09.2014