使用AJAX html()加载Django模板导致不需要的文本
Loading Django template using AJAX html() resulting in unwanted text
我正在通过Ajax加载一个模板。
这就是客户端的样子:
function AJAX_query(query_JSON){
$.ajax({
type: 'GET',
url: '/ajax_request/',
data: query_JSON,
datatype: "json",
success: function(data){
$("#search_results").html(data);
},//success
error: function(){
alert("AJAX - failure.");
}//error
});//.ajax
};//AJAX_query
回到服务器,我有一个带有分页的简单模板渲染。
def Selector_Query(request, query):
query = query.split(",")
# Filter model based on query
some_models = Some_Model.objects.all().filter(whatever = query[n])
# PAGINATION
paginator = Paginator(some_models, 30)
try:
some_models = paginator.page(query[n])
# If page is not an integer, deliver first page.
except PageNotAnInteger:
some_models = paginator.page(1)
# If page is out of range (e.g. 9999), deliver last page of results.
except EmptyPage:
some_models = paginator.page(paginator.num_pages)
last_page = paginator.num_pages
context = RequestContext(request, {
"some_models":some_models,
"last_page":last_page,
"page_number":query[n],
})
template = loader.get_template("some_folder/some_template.html")
return HttpResponse(template.render(context))
当我收到数据时,顶部总是这样:
Content-Type: text/html; charset=utf-8
如果我使用load()
而不是html()
,则以上内容将不再出现。然而,据我所知,我不能使用load,因为load()需要一个url,我宁愿在没有url的情况下工作,因为我正在发送复杂的参数。因此,AJAX的全部原因就在第一位。
知道为什么会发生这种情况,以及我应该如何解决吗?
发现问题。这是
return HttpResponse(template.render(context))
需要
return render_to_string("some_folder/some_template.html", context)
相关文章:
- xmlhttp.responseText不显示文本
- 使用不带文本文件的OpenLayers显示POI
- 如何在不需要单击按钮的情况下获取选项的值
- Javascript不需要的关闭行为
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 删除客户端浏览器上不需要的内容
- 不允许在字段中输入不需要的字符
- 不需要的JSON响应
- jQuery regex从文本链接-添加不需要的域到链接
- 使用AJAX html()加载Django模板导致不需要的文本
- 将不需要的页脚文本替换为空白区域
- 不需要的文件在IE中提交后清除文本框
- 如何用javascript编程编辑HTML格式的文本,而不需要手动处理标记和HTML
- 如何删除合理段落中文本之间不需要的空白
- 空格键在运行javascript函数时导致不需要的文本
- 删除不需要的标记(如果在文本之前)
- 在文本输入中不需要的字符出现之前将其删除
- Imacros提取和删除不需要的文本
- CRM 2011:使用电子邮件正文填充后,案例的“说明”字段中出现不需要的文本
- 使用jquery从链接中删除不需要的文本