Jquery Django中使用的Ajax

Jquery Django中使用的Ajax,jquery,python,ajax,django,Jquery,Python,Ajax,Django,您好,我刚刚开始使用Ajax,我从html中的文本字段(id_title)获取一个输入,以便动态地从数据库检索信息。当用户在textfield中输入时,它现在工作正常,但是当没有输入时,数据库仍然检索数据库中的前几条记录。当“id\u title”为空时,如何防止调用success函数 编辑: 也许我应该补充一点,我正在使用Ajax和Django框架。没有输入时,检索前10条记录。当django函数没有收到来自“query”的输入时,我不知道如何停止向“qna/rec_results.html”

您好,我刚刚开始使用Ajax,我从html中的文本字段(id_title)获取一个输入,以便动态地从数据库检索信息。当用户在textfield中输入时,它现在工作正常,但是当没有输入时,数据库仍然检索数据库中的前几条记录。当“id\u title”为空时,如何防止调用success函数

编辑:

也许我应该补充一点,我正在使用Ajax和Django框架。没有输入时,检索前10条记录。当django函数没有收到来自“query”的输入时,我不知道如何停止向“qna/rec_results.html”发送记录

Django函数(在/qna/question\t\u lookup/中引用函数)

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!");
         }
       }
     });
};
请尝试以下操作:

function load_qn_search() {
    if($("#id_title").val())
    {
     $.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!");
         }
       }
     });
    }
};

仅当文本值不为空时进行ajax调用。

当查询不可用时,您将返回
model\u results=Question.objects.all()
。当查询为空时,尝试创建空模型结果

例如:

if request.GET['query']:
    # return your query results
else:
    model_results = []        

多亏了machaku,我才能够说出这句话,抓住了空字符串的问题!非常感谢

if len(value.strip()) > 0:
            model_results = Question.objects.filter(title__icontains = value)
        else:
            model_results = [] 

使用validate.js简单地验证您的输入框。我可能错了,但是,没有
.empty()
删除元素的内容吗?为这个错误道歉。已经做了相关的修改。请检查这是否适合您。如果请求根本没有查询参数,最好使用
request.GET.GET('query','')
而不是
request.GET['query']
,以避免
keyrerror
if request.GET['query']:
    # return your query results
else:
    model_results = []        
if len(value.strip()) > 0:
            model_results = Question.objects.filter(title__icontains = value)
        else:
            model_results = []