当我点击另一个模板中的按钮时,我正在尝试在视图中渲染模板。我在视图中对方法进行了ajax调用,但我不确定它有什么问题。我无法渲染另一个模板,我做错了什么?
my view.py
@csrf_exempt
def checkLogin (request):
if request.is_ajax():
param = request.POST.get('param', None)
param1 = request.POST.get('param1', None)
if (param=="admin" and param1=="admin"):
Datenow = datetime.datetime.now().strftime('%H:%M:%S')
return render(request,'sample/test.html',{'Datenow': Datenow})
else:
Datenow = datetime.datetime.now().strftime('%H:%M:%S')
return render(request,'sample/login.html',{'Datenow': Datenow})
return HttpResponseBadRequest()
这是我模板中的ajax调用:
loginbt.onclick = function() {
var uName = $('#username').val();
var pWord = $('#password').val();
$.ajax({type: 'POST',
url: '/sample/checkLogin/', // some data url
data: {param: uName, param1: pWord}, // some params
success: function (response) { // callback
if (response.result === 'OK') {
if (response.data && typeof(response.data) === 'object') {
window.alert("its working");
}
} else {
// handle an unsuccessful response
}
}
});
}
当我单击模板中的按钮时,我得到200 OK
结果,但模板不会改变。任何建议都会有所帮助。
答案 0 :(得分:0)
您需要修复ajax调用的js回调。
你正在jj回调中从django 返回一些html但是你正在测试响应,因为它是JSON数据。
if (response.result === 'OK') {
if (response.data && typeof(response.data) === 'object')
您正在检查这样的JSON结构:
{
result: "OK",
data: {
}
}
请妥善修改您的代码。