こんにちは、jQuery オートコンプリート ライブラリ(より適切な言葉がないため) を使用して、作業中のページに基本的なオートコンプリート機能を実装しようとしています。基本的にそのページのサンプルコードの修正版を使用することで、同じフォルダー内の静的 html ページから json データを取得することでオートコンプリートを機能させることができました。それはうまくいきました。現在、jsonデータを吐き出す、Googleアプリエンジンでローカルに実装されているpythonスクリプトからデータを取得しようとしています。
以下は、ページへの生入力のサンプル データです。
["foo", "bar"]
データ形式が正しいことを確認するために、データを複数の方法で出力しました (申し訳ありませんが、有効な json データであるかどうかをテストする確実な方法はわかりません)。
それではコードです!これは、オートコンプリート機能を処理する実際の関数です。
function suggest(textbox_data){
$(textbox_data).autocomplete({
source : function (request, response)
{
var source_url = "http://localhost:8081/developers/add/jqueryResponse";
//var data = "hello world"
$.ajax({
url: source_url,
dataType: 'json',
success: function (data) {
response(data);
}
});
}
});
}
すべてを関数に入れる理由は、テキスト ボックスを動的に生成するためです。すべてを明確にするために、テキスト ボックスが追加される行を次に示します。誰かが本当に望むなら、テキストボックス生成用のすべてのコードを追加できますが、それは問題ではないと確信しています。
$('#buttondiv').append('<div><label>Textbox #'+$counter+'</label><input type="text" name="textbox[]" class="textbox" value="" id="country" onkeyup="suggest(this);"/><div id="testdiv"></div></div>');
次にエラーメッセージです!Firefox でスクリプトを実行すると (ローカルで $.ajax 機能を使用する場合、Chrome は雌犬でした)、JSON データを含む Web ページにアクセスしようとすると、firebug からエラーが発生します。
GET http://localhost:8081/developers/add/jqueryResponse 200 136ms jquery.min.js (line 16)
ファイルの 16 行目では、基本的にスクリプトのすべてが含まれているため、実際には絞り込まれていません。とにかく、助けてください!