1

本番環境 (heroku、rails) で JQuery-ui オートコンプリートを動作させるのに問題がありますが、ローカルでは動作します。

ここに私のjavascriptがあります(はい、それが面倒であることは知っています。jquery-uiを使用するのは初めてです)

<script>
$(function() {
var projects = '/courses.json'

$( "#search" ).autocomplete({
    minLength: 2,
    source: projects,
    focus: function( event, ui ) {
        $( "#search" ).val( ui.item.course.abbrev );
        return false;
    },
    select: function( event, ui ) {
      window.location.replace("/courses/"+ui.item.id);
        return false;
    }
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
    return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>" + item.abbrev + "</a>" )
        .appendTo( ul );
};
});
</script>

よくわかりませんが、これが問題かもしれません:

"/courses.json"

正しく動作し、JSON 形式ですべてのオブジェクトを一覧表示します

でも、

"/courses.json?term=m"

ローカルではオブジェクトの正しい配列を返しますが、リモートでは空の配列を返すだけです

4

1 に答える 1

0

リモート サーバーにクエリを実行する場合は、jQuery AJAX リクエストで JSON ではなく JSONP を使用していることを確認してください。

http://en.wikipedia.org/wiki/JSONPおよびhttp://api.jquery.com/jQuery.getJSON/

于 2012-09-13T21:33:48.840 に答える