Jquery Django中使用的Ajax
您好,我刚刚开始使用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函数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”
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 = []