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')
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})
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有