Django1.7+JQuery+Ajax验证用户注册集成小例子


Posted in jQuery onApril 08, 2017

Ajax的出现让Web展现了更新的活力,基本所有的语言,都动态支持Ajax与起服务端进行通信,并在页面实现无刷新动态交互。 下面是散仙使用Django+Jquery+Ajax的方式来模拟实现了一个验证用户注册时,用户名存在不存在的一个小应用。注意,验证存在不存在使用的是Ajax的方式,不用让用户点击按钮验证是否存在。 截图如下:

Django1.7+JQuery+Ajax验证用户注册集成小例子

Django1.7+JQuery+Ajax验证用户注册集成小例子

页面HTML代码如下:

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
<title>Ajax验证测试</title>
</head>
<script src="/static/jquery/jquery211.js"></script>
<script> 
$(function(){ 
$("#pu").bind('keydown',function(){
c=$("#pu").val()
$.ajax({
type:"POST",
url:"/ccc/",
data:{name:c},
dataType:"json",
 success: function(data) {
$("#p").text(data.msg)
}
}); 
}) 
}) 
</script>
<body> 
输入名字进行校验:<input id="pu"type="text"> <span id="p"style="color: red"></span>
</body>
</html>

view端的代码,注意csrf的装饰方法,针对post请求:

from django.shortcuts import render
from django.http.response import HttpResponse
# Create your views here.
from django.shortcuts import render_to_response
#导入render_to_response
from django.shortcuts import render_to_response
#导入包装的csrf请求,对跨站攻击脚本做处理
from django.views.decorators.csrf import csrf_exempt
 
import json
 
def tt(request):
 return render_to_response('em/add.html')
 
 
names=list();
names.append("zhangsa")
names.append("aa")
names.append("b")
names.append("c")
 
 
@csrf_exempt
def ccc(request):
 
name=request.POST.get("name",None)
rtxt="";
 if name is not None:
 b=name in names
 if b:
#print("名字已经存在!",name)
rtxt="名字已经存在!"
else:
print("名字不存在!")
rtxt="名字不存在!"
 #print("获取的名字是:NU",name)
 
 return HttpResponse(json.dumps({"msg":rtxt}))

urls里面的代码:

#ajax校验
url(r'^ccc/$',ccc),

注意里面用到了json.dumps函数来生成json对象,注意词典的形式,在测试之前,最后,先访问一下看看,json数据是否能拿到.

Django1.7+JQuery+Ajax验证用户注册集成小例子

ajax验证没有问题之后,我们就可以在前端进行了,测试效果就是散仙开头所截图,本文的重点在于验证ajax的功能调用,所以并没有直接从数据库里面获取数据进行验证,而是使用了list集合,进行了数据的模拟,如果想做的更完美一点,可以把数据库部分实现,这样就与真实中的网站验证场景就一样了。

jQuery 相关文章推荐
JavaScript之事件委托实例(附原生js和jQuery代码)
Jul 22 jQuery
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
使用jquery+iframe做一个ajax上传效果(实例)
Aug 24 jQuery
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
JQueryDOM之样式操作
Mar 27 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
Sep 10 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
jquery插件实现悬浮的菜单
Apr 24 jQuery
利用jQuery解析获取JSON数据
Apr 08 #jQuery
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 #jQuery
jQuery中map函数的两种方式
Apr 07 #jQuery
jQuery获取table下某一行某一列的值实现代码
Apr 07 #jQuery
jQuery实现文章图片弹出放大效果
Apr 06 #jQuery
jQuery自定义图片上传插件实例代码
Apr 04 #jQuery
jQuery使用unlock.js插件实现滑动解锁
Apr 04 #jQuery
You might like
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
python实现感知器算法详解
2017/12/19 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
Django继承自带user表并重写的例子
2019/11/18 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
营销与策划专业毕业生求职信
2013/11/01 职场文书
班队活动设计方案
2014/01/30 职场文书
总经理的岗位职责
2014/02/23 职场文书
村党建工作汇报材料
2014/11/02 职场文书
党性分析材料格式
2014/12/19 职场文书
大学生党课心得体会
2016/01/07 职场文书
golang json数组拼接的实例
2021/04/28 Golang