не работает кросс-доменный ajax
надо json получить с другого сервера.
$.ajax({
url: "http://***",
dataType: "json",
success: function( data ) {
alert(data);
}
});
ничего не работает. с .getJSON() тоже самое. если файл на сервере открывать то alert() открывается, а если с другого сервера, ничего совсем не происходит |
В общем случае нельзя получить данные с чужого сайта.
Но для некоторых частных случаев можно http://javascript.ru/ajax/cross-domain-scripting http://javascript.ru/ajax/cross-origin-2 Но, эти способы имеют ряд ограничений, и для них как правила необходимо внести изменения на сайте-доноре. Если сайт-донор принадлежит вам, то внести эти изменения не вызовет трудностей, но если он вам не принадлежит, то как правило данные нельзя получить, потому что владелец не вносил изменения в свой сайт, чтобы кто-то могу легко получить данные со своего сайта |
так апи чужих сайтов никак невозможно использовать? O_o
вот в примере jqueryui.com/demos/autocomplete/#remote-jsonp работает с http://ws.geonames.org/searchJSON, а я хочу данные с http://api.myshows.ru/shows/search/?q=theory никак нельзя их получить? |
Цитата:
Если у сайта есть API предназначенное для внешнего использования javascript-ом, то разумеется можно. Цитата:
Ищите API в JSONP формате, либо пробуйте варианты из ссылок выше |
да все равно не работает
пример из интернета:
$.getJSON('http://twitter.com/users/usejquery.json?callback=?', function(json) { // получение информации о пользователе @ usejquery
$('#twitter_followers').text(json.followers_count); // получение числа фоллоуверов из json объекта и размещение в <span>
});
мой код не работает:
$.getJSON('http://api.myshows.ru/shows/search/?q=doctor', function(json) {
alert();
});
|
twitter в вашем примере возвращает JSONP
Точно также, как и ws.geonames.org И это позволяет их использовать в качестве API доступного из JS подобным образом А api.myshows.ru возвращает JSON, что не позволяет его использовать в таком качестве Пожалуйста внимательней читайте мои ответы Вам: Для того, чтобы API чужого сайта было доступно из JS, оно должно быть соответствующим образом подготовлено(владельцем этого API) |
Вот по этой теме хорошее описание с примерами работающего кода:
http://devdream.net/?p=65, http://devdream.net/?p=57. |
| Часовой пояс GMT +3, время: 22:00. |