не работает кросс-доменный 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, время: 11:32. |