博客信息

Python Django 模板层(AJAX)

发布时间:『 2019-08-23 22:10』  博客类别:Python  阅读(793)

Ajax基础知识

相关代码

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^account/', include('account.urls', namespace='account', app_name='account')),
    url(r'^ajaxdemo/', include('ajaxdemo.urls'))
]


# coding=utf-8

from django.conf.urls import url
import views

urlpatterns = [
    url(r'^get/$', views.get_view),
    url(r'^post/$', views.post_view),
    url(r'^ajax/$', views.ajax_view),
    url(r'^$', views.index_view),
]


# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.http import JsonResponse
from django.shortcuts import render

# Create your views here.
def get_view(request):
    uname = request.GET.get('uname')
    pwd = request.GET.get('pwd')
    msg = '用户:%s,密码:%s登录成功'%(uname,pwd)
    return JsonResponse({'msg':msg})


def post_view(request):
    uname = request.POST.get('uname')
    pwd = request.POST.get('pwd')
    msg = 'POST用户:%s,密码:%s登录成功' % (uname, pwd)
    return JsonResponse({'msg': msg})


def ajax_view(request):
    import time
    time.sleep(5)
    return JsonResponse({})


def index_view(request):
    return render(request,'ajaxdemo.html')


ajaxdemo.html 


小李飞刀_Python

Forbidden (CSRF token missing or incorrect.): /ajaxdemo/post/

[24/Aug/2019 09:29:23] "POST /ajaxdemo/post/ HTTP/1.1" 403 2497

 

控制台显示这个问题,意味着post提交并没有携带token令牌

 

Ajax案例

 

 

前端

用户名:<input type="text" name="uname" id="uname" onblur="checkUname()"/><span id="unameSpan"></span>


function checkUname(){
            //1.获取文本框内容
            var uname = $('#uname').val();

            //2.非空校验
            if(uname.length==0){
                $('#unameSpan').html('*');
                $('#unameSpan').css('color','red');

            }else{
            //3.判断唯一性
                $.get('/ajaxdemo/demo/',{'uname':uname},function(result){
                    //alert(typeof result.flag)
                    r = result.flag;

                    //4.根据服务器端的响应信息进行页面更新
                    if(r){
                        $('#unameSpan').html('此用户名太受欢迎了,请换一个吧~');
                        $('#unameSpan').css('color','red');
                    }else{
                        $('#unameSpan').html('√');
                        $('#unameSpan').css('color','green');

                    }
                })

            }
        }


urlpatterns = [
    url(r'^get/$', views.get_view),
    url(r'^post/$', views.post_view),
    url(r'^ajax/$', views.ajax_view),
    url(r'^$', views.index_view),
    url(r'^demo/$', views.demo_view),
]


def demo_view(request):
    # 接收请求参数
    uname = request.GET.get('uname', '')

    # 判断数据库中是否存在
    stuList = uname == 'zs'

    if stuList:
        return JsonResponse({'flag': True})
    return JsonResponse({'flag': False})


小李飞刀_Python


over......


关键字:     Python       Django  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有