2013-08-16 2 views
0

Im возникли проблемы в получении результата JSon на одном из моих апи'S:

попытался назвать его, используя код ниже:

var url = 'domain.com/' 
var query = $http({ 
    method: 'GET', 
    url: url, 
    headers: {'Content-Type': 'application/json'} 
}); 
console.log(query); 

и простой $ HTTP GET на мой контроллер

var url = $http.get('http://domain.com'); 
console.log(url); 

Всегда дал мне

XMLHttpRequest не может загрузить http://domain.com. Происхождение домена не допускается Access-Control-Allow-Origin.

Затем я попытался изменить тип метода от GET к JSONP, но дал мне

Uncaught SyntaxError: Unexpected token : 

Weird кузен при просмотре URL с помощью веб-браузера, является объект JSON.

+0

JSON! = JSONP. Не похоже, что веб-сервис, который вы используете, поддерживает JSONP. –

+0

Привет, этот URL-адрес может быть вам полезен http://stackoverflow.com/questions/16195199/create-a-jsonp-api-in-angularjs-consume-with-jquery –

ответ

1

http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

Вы нарушаете единую политику происхождения, пытаясь данных XHR из области внешней по отношению к области, которая доставила вызывающую JS. Данные, полученные с помощью XHR, должны исходить от одного и того же хоста и порта, из которого обслуживается сайт. Это сделано для защиты от межсайтовых скриптовых атак.

Вы можете обойти это с помощью JSONP (я подозреваю, что есть отдельная проблема с вашим вызовом JSONP, опубликовать его?) Или включив правильные заголовки в ответ от вашего API, Access-Control-Allow-Origin: * ;

+0

спасибо, на данный момент я сделал свой собственный веб-сервис и добавил заголовок, и он работает !. –

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