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 相关文章推荐
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
jQuery表单验证之密码确认
May 22 jQuery
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
jquery实现倒计时小应用
Sep 19 jQuery
jQuery EasyUI开发技巧总结
Sep 26 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 jQuery
jQuery实现表单动态添加与删除数据操作示例
Jul 03 jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
jQuery zTree插件使用简单教程
Aug 16 jQuery
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 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
php 获取客户端的真实ip
2009/11/30 PHP
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
vue中实现动态生成二维码的方法
2020/02/21 Javascript
python发腾讯微博代码分享
2014/01/10 Python
提升Python程序运行效率的6个方法
2015/03/31 Python
简单介绍Python中的decode()方法的使用
2015/05/18 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
为什么说python更适合树莓派编程
2020/07/20 Python
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
外贸英语专业求职信范文
2013/12/25 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
遗失证明范文
2015/06/19 职场文书
超市店长竞聘书
2015/09/15 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python
Promise面试题详解之控制并发
2021/05/14 面试题
MySQL之select、distinct、limit的使用
2021/11/11 MySQL