Задать вопрос

Почему не выполняется запрос $.getJSON?

Есть вот эта страничка
kwe.kz/kurs.htm

в ней элементарный скрипт запрашивающий данные с сервера
$.getJSON( "http://rate-exchange.appspot.com/currency?from=RUB&to=KZT&q=1", function( data ) {
	$("#out").html(data);
});


Но ответ не приходит, хотя если вбить этот урл в адресную строку браузера, то ответ есть. В чем может быть дело?
  • Вопрос задан
  • 3034 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
akashtrih
@akashtrih
Кроссдоменные запросы не удовлетворяют политике безопасности, поэтому они не выполняются. AJAX-запросы не могут получать данные с другого домена, субдомена или протокола.
Но есть выход. Использовать $.ajax() и его опцию dataType: "jsonp"
Например:
$.ajax({
     type: "get",
     url: 'http://rate-exchange.appspot.com/currency?from=RUB&to=KZT&q=1',
     dataType: "jsonp", 
     success: function(data){
          console.log(data);
     },
     error : function(data){
          console.log(data);
     }
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
$.ajax({
    url: 'http://rate-exchange.appspot.com/currency?from=RUB&to=KZT&q=1',
    dataType: 'jsonp',
    success: function(res) {
        console.log(res);
    }
});
Ответ написан
К url-адресу запроса прикрепите название функции, которая будет обрабатывать результат, т.е:
http://rate-exchange.appspot.com/currency?from=RUB&to=KZT&q=1&callback=myFun

где: myFun - это название функции. Итого:
function myFun(obj){
    console.dir(obj); 
}

$.ajax({
    url: 'http://rate-exchange.appspot.com/currency?from=RUB&to=KZT&q=1&callback=myFun',
    dataType: 'jsonp'
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы