こんにちは、私は Ajax を使い始めたばかりで、html のテキストフィールド (id_title) から入力を取得して、データベースから動的に情報を取得しています。ユーザーからのテキストフィールドに入力がある場合は正常に機能するようになりましたが、入力がない場合でも、データベースはデータベースの最初のいくつかのレコードを取得します。「id_title」が空のときに成功関数を呼び出さないようにするにはどうすればよいですか?
編集:
おそらく、Django フレームワークと一緒に Ajax を使用していることを付け加えておく必要があります。入力がない場合、最初の 10 レコードが取得されます。django 関数で「query」から入力を受信していない場合に、「qna/rec_results.html」へのレコードの送信を停止する方法がわかりません。
Django 関数 (/qna/question_t_lookup/ で参照される関数)
def question_autocomplete_lookup(request):
results = []
model_results = Tags.objects.filter(name__icontains = q)
if request.method == "GET":
if request.GET.has_key(u'query') :
value = request.GET[u'query']
model_results = Question.objects.filter(title__icontains = value)
else :
model_results = Question.objects.all()
else :
model_results = Question.objects.all()
paginator = Paginator(model_results, 10)
new_rec_list = paginator.page(1)
return render_to_response('qna/rec_results.html',{'rec_list' : new_rec_list})
Ajax 関数
function load_qn_search() {
$.ajax({
type: "GET",
url: '/qna/question_t_lookup/',
data: {
query: $("#id_title").val()},
success: function(data) {
$('#ajax_reload_content').html(data);
},
statusCode: {
500: function() {
alert("Opps! There is a error!");
}
}
});
};