JSON配列と、都市の配列から都市名の補完のJSON配列を返すオートコンプリート関数が配置されているWebサーバーを使用して、都市のオートコンプリート形式を実装しようとしていますが、何も得られないようです私のAjax呼び出しからの応答。私の Ajax 呼び出しに何か問題がありますか?
"term" というフォーム データを URL "/suggestjson" に送信し、返された JSON を html ファイルの本文に表示しようとしています。
ブラウザーに「localhost:8000/suggestjson?term=a」と入力すると、「a」で始まるすべての都市 (アデレードなど) が返されるため、Web サーバーが機能していることはわかっています。それを見る
HTMLフォーム
</head>
<body>
<form>
<fieldset><legend>Cities</legend>
<input type='text' name='city' id='city'>
</form>
JQuery
$('document').ready(function() {
var term = $('input[name=city]');
$.ajax({
url: "/suggestjson",
type: "GET",
dataType: "json",
data: term,
success: function (data) {
$("body").append(data);
}
});
});
ウェブサーバー
cities = ['New York', 'London', 'Los Angeles',
'Paris', 'San Francisco', 'Adelaide']
if environ['PATH_INFO'] == "/suggestjson":
return suggest_json_application(environ, start_response)
def suggest_json_application(environ, start_response):
//Return JSON array of completions for a city name
form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
if form.has_key('term'):
q = form.getvalue("term", "")
matches = [i for i in cities if i.startswith(q)]
else:
matches = []
return json.dumps(matches)