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晓码阁 版权所有