是否有 django 函数来检测是否发送了 ajax 查询$.get
?让我解释...
我将 Ajax 用于两件事:
1/ 从我的菜单中显示每个页面的内容$.get
(已经实现,在我开始开发第二点之前效果很好)
2/ 在表单中,当我点击一个按钮时,我$.ajax
用来显示成功或错误消息(目前正在开发中)
在第一点结束时,我的观点没有改变。最后一行:
return render_to_response('auth/index.html', response_dic, context_instance=RequestContext(request))
但是我不得不为第二点改变它:
if request.is_ajax():
#transform the data to json so it can be used in jquery
return HttpResponse(simplejson.dumps(response_dic), mimetype='application/json')
#normal post with reload
else:
return render_to_response('auth/index.html', response_dic, context_instance=RequestContext(request))
但是现在当我点击我的菜单链接时,什么都没有显示了!我想我知道为什么:我用$.get
. 在我看来,request.is_ajax()
返回True
,因此它不会按应有的方式呈现视图(它返回HttpResponse
而不是返回render_to_response
)!
所以我重复我的问题:是否有一个函数可以检测 ajax 是否与 a 一起使用GET
?如果不清楚,请询问我更多详细信息!这是我的 jQuery 函数:
//load the content of the page (right side) with Ajax (no need to reload the menu and header)
function load_content(link)
{
$.get(link, function(data)
{
var title=$(data).find("#title");
var content=$(data).find("#content");
$("#title_base").html(title);
$("#content_base").html(content);
});
//change the active link in the menu
$('.active').removeClass('active');
//~ $(this).addClass("active");
$('#menu a[href*="' + link.split("/")[2] + '"][class!="noselect"]').parent().addClass('active');
}
想法:我应该使用两种不同的视图吗?