Я пытаюсь загрузить через Ajax последнее сообщение аккаунта в твиттере. У меня есть URL-адрес:
http://twitter.com/statuses/user_timeline/myuser.json?count=1
Это работает:
$.get("test.php", function(data){ alert("Data Loaded: " + data); });
Это даже не делает запрос, если я контролирую консоль в Firebug:
$.get("http://twitter.com/statuses/user_timeline/myuser.json?count=1", function(data){ alert("Data Loaded: " + data); });
И у меня такая же проблема с .load, .post, .ajax ...
Как я мог это сделать?
Редактировать:
Я пытался использовать getJSON:
$.getJSON("http://twitter.com/statuses/user_timeline/user.json?count=1", function(data){ alert("here"); });
... все еще ничего, я даже не получаю предупреждение.
JSONP требуется для запросов на других серверах. Попробуйте добавить &callback=? в конец вашего URL.
&callback=?
См. Руководство: http://docs.jquery.com/Ajax/jQuery.getJSON Вероятно, вы все равно должны использовать этот метод, если знаете, что вернете JSON.
Правильный синтаксис для вызова get в jQuery:
$.get("http://twitter.com/statuses/user_timeline/myuser.json", {count: "1"}, function(data) { alert("Data Loaded: " + data); });
Вы должны передать параметры строки запроса в виде набора имен / значений параметров (второй параметр). Но все же у вас будут проблемы, упомянутые в других ответах.
Возможно с плагином JQuery и YQL:
http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/
проблема безопасности вызов другого URL в ajax
вам нужно использовать jsonp:
JSONP
(используется jsonp с jquery)
еще одна ссылка примера
http://bloggingabout.net/blogs/adelkhalil/archive/2009/08/14/cross-domain-jsonp-with-jquery-call-step-by-step-guide.aspx
В зависимости от ваших потребностей, вы также можете использовать прокси на стороне клиента Flash для передачи ваших запросов. Песочница Flash менее ограничена для междоменных запросов.
Например, см. http://flxhr.flensed.com/.