2016-03-06 2 views
0

Я имею в AngularJS следующим образом:Потребляя Wiki Api с использованием AngularJS

(function() { 
    'use strict'; 

    angular 
     .module('ui-chat-app') 
     .factory('wikiService', function($http) { 
    var wikiService = { 
     get: function(keyword) { 
      return $http.jsonp('https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exlimit=1&explaintext&exintro&titles=' + keyword.name); 
     } 
    }; 

    return wikiService; 

}) 

.controller('aiChatBrain', function($scope, wikiService) { 
    wikiService.get({name: 'Sarajevo'}).then(function(data) { 
     console.log(data); 
    }); 

}); 

})(); 

Когда сценарий выполняется в светлячок я получаю следующее сообщение об ошибке:

enter image description here

И когда сценарий выполненный в хромированном состоянии, возникает следующая ошибка:

enter image description here

Любая идея, почему это происходит? :/Я полностью смущен ...

Может кто-нибудь помочь мне с этим, пожалуйста?

Спасибо, кучи!

+0

любой, действительно ??? ._. – perkes456

+0

Привет, помог ли мой ответ? Мне понравилась бы некоторая обратная связь, если бы я не помог решить проблему. – glcheetham

ответ

1

При использовании JSONP, ответ от сервера поступает на функцию обратного вызова и выполнен в JavaScript (см здесь What is JSONP all about?)

Таким образом, при выполнении JSONP запросов в угловых, необходимо указать функцию обратного вызова:

The name of the callback should be the string JSON_CALLBACK

от docs

Ваша строка JSON выполняется, однако это не является корректным Javascript заявление само по себе, отсюда и ошибка.

Попробуйте использовать $http.get вместо этого, который будет работать так, как вы ожидаете.

Смежные вопросы