Javascript Django视图在使用ajax时未呈现模板

Javascript Django视图在使用ajax时未呈现模板,javascript,jquery,ajax,django,django-views,Javascript,Jquery,Ajax,Django,Django Views,当我在另一个模板中单击按钮时,我试图在视图中渲染一个模板。我对视图中的方法进行了ajax调用,但我不确定它有什么问题。我无法呈现另一个模板,我是否做错了什么 my view.py @csrf_exempt def checkLogin (request): if request.is_ajax(): param = request.POST.get('param', None) param1 = request.POST.get('param1', No

当我在另一个模板中单击按钮时,我试图在视图中渲染一个模板。我对视图中的方法进行了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
结果,但是模板没有改变。任何建议都会很有帮助。

您需要修复ajax调用的js回调

您正在从django返回一些html,但是在js回调中,您正在测试响应,因为它是JSON数据

if (response.result === 'OK') {
   if (response.data && typeof(response.data) === 'object')
您正在检查这样的JSON结构:

{
   result: "OK",
   data: {
   }
}

请适当地修改您的代码

您的
窗口.alert
事件是否成功触发?代码中没有任何内容会导致模板显示在任何位置?如果你想用模板响应更新HTML,你需要在成功函数中这样做。你认为你的页面为什么会改变?您将一个HTML文档返回到ajax函数,该函数除了显示一个警报外,什么也不做。使用ajax时,django视图应该返回一个JSON文档,以便ajax函数可以处理该文档并相应地更改HTML DOM树。@souldex,不,它不会t@solarissmoke是的,但是window.alert不会在onsuccess方法中被解雇我是新手,你能帮我弄清楚到底是什么问题吗??