Я пытаюсь получить доступ к JSON из http://localhost: 8080/daddy/. Эта страница работает на сервере Glassfish в фоновом режиме. Я могу получить доступ к этому URL из браузера, и я получаю следующий результат:
{"id":11,"content":"Hello, World!"}
Но когда я пытаюсь получить доступ к нему из AngularJS, я получаю следующий результат:
{"data":null,"status":0,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"url":"http://localhost:8080/daddy/","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}
******* AngularJS Script ********
app.controller("HttpController", ['$http', function($http){
var currentInstance = this;
currentInstance.data = {};
$http({
method: 'GET',
url: 'http://localhost:8080/daddy/'
}).then(function successCallback(response) {
currentInstance.data = response;
}, function errorCallback(response) {
currentInstance.data = response ;
});
}]);
Но когда я использую какой-либо публичный url для получения JSON, он возвращается просто отлично. Кажется, что проблема с localhost. Любая помощь будет признательна!
Может быть проблема с запросом на перекрестный запрос, который у вас есть. Убедитесь, что CORS включен для вашего приложения Glassfish: GlassFish: как установить заголовок Access-Control-Allow-Origin
С первого взгляда, я не вижу никакого json файла? например:
$http({
method: 'GET',
url: 'http://localhost:8080/daddy/file.json'
}).then(function successCallback(response) {
currentInstance.data = response;
}, function errorCallback(response) {
currentInstance.data = response ;
});
Вы запускаете приложение на локальном хосте, и вы будете развертывать его вместе с json, если да, то почему вы связываетесь с ним через localhost? почему нет
$get('../daddy/file.json/').then(function(response)){
});
Я новичок в угловой, но, возможно, это может вам помочь.
response.data
в вашем обратном вызове успеха?