Почему следующий код не работает? (если я поменяю удаленный источник на локальный, то он будет работать хорошо)
<!DOCTYPE html> <html> <head> <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> <script> $(document).ready(function() { $("input#autocomplete").autocomplete({ source: "http://jqueryui.com/demos/autocomplete/search.php", minLength: 2, select: function( event, ui ) { } }); }); </script> <style> .ui-autocomplete-loading { background: white url('http://jqueryui.com/demos/autocomplete/images/ui-anim_basic_16x16.gif') right center no-repeat; } </style> </head> <body style="font-size:62.5%;"> <input id="autocomplete" /> </body> </html>
та же политика происхождения, что и для источника, требует запуска сценария с другого сайта.
http://en.wikipedia.org/wiki/Same_origin_policy
Вы можете изменить источник для использования jjery ajax-вызова на другой сайт, который может вернуть jsonp.
Смотрите пример: http://jqueryui.com/demos/autocomplete/#remote-jsonp
или убедитесь, что заданный URL-адрес источника возвращает jsonp.