Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了。

推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看,地址为:http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html 和 http://www.w3school.com.cn/jquery/

$.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()

一、$.ajax的一般格式

$.ajax({

type: 'POST',

url: url ,

data: data ,

success: success ,

dataType: dataType

});

二、$.ajax的参数描述

参数 描述

url 必需。规定把请求发送到哪个 URL。
data 可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。
dataType

可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。

三、$.ajax需要注意的一些地方:

1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。

2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit

实例:注册账号时用户名不能重复

 <div class="right">

              <h1>添加用户</h1>

                 <form action="/user_add/" method="post" onsubmit="return check_form()">
{% csrf_token %}
<ul>
<li>
<label for="username">用户名</label>
<input type="text" id="username" name="username" value="" onblur="check_username(this)" required>
<span class="user_error"></span>
</li>
<li>
<label for="password">密码</label>
<input type="password" id="password" name="password" value="" required>
</li>
<li>
<label for="repassword">确认密码</label>
<input type="password" id="repassword" name="repassword" value="" required>
</li>
<li>
<input type="submit" value="提交"/><span id="error"></span>
</li>
</ul>
</form> </div> </div>
<script>
function check_username(obj){
var url='/check_username/';//请求地址
var username =$(obj).val();
var data ={'username':username}//地址携带的参数
$.ajax({
type:'get',
url:url,
data:data,
success:function(mydata){
//当返回结果不为空时,账号已存在
if(mydata != ''){
$(obj).css('border','1px solid red');
$('#error').html('*账号已存在!')
}
else{
$(obj).css('border','1px solid black');
$('#error').html('')
}
} });
}
function check_form(){
//分别取得两次输入的密码:
pwd=$('#password').val();
repwd=$('#repassword').val();
error=$('#error').html()
if(pwd == repwd){
//判断错误信息
if(error == ''){
//当错误信息不存在时
return true;
}else{
//当错误信息存在时
return false;
} }else{
$('#error').html('两次密码不相同!')
return false; } }
</script>

html页面代码

 url(r'^check_username/$', views.check_username),

urls路由

 def check_username(request):
#取得参数
username=request.GET.get('username')
check=models.user.objects.filter(username=username)
if check:
#返回字符串
return HttpResponse('账号已存在') else:
return HttpResponse('')

views视图

最新文章

  1. UINavigationItem UINavigationBar 关系分析[转]
  2. 使用UDEV绑定ASM多路径磁盘
  3. bios启动过程图解
  4. MySQL 学习笔记 (它执行的步骤)
  5. 客户调查(client)
  6. nginx rewrite 实现URL跳转
  7. OGC相关概念解析
  8. java Quartz定时器任务与Spring 的实现
  9. Helm简介
  10. LINUX内核分析第八周学习总结
  11. laravel的validation 中文 文件
  12. Azure China (13) Azure China CDN经验总结
  13. Linux-Tmux使用初体验
  14. [i.MX6q]i.MX6q处理器,linux操作系统平台搭建 从SD卡启动系统
  15. RQNOJ 356 mty的格斗 dp
  16. Windows下使用DOS命令进入MySQL数据库
  17. java 处理emoji表情信息转换为String
  18. 第十五届浙江省赛 F Now Loading!!!
  19. nginx FastCGI模块配置
  20. 编译php ./configure命令enable和with有什么区别

热门文章

  1. myeclipce怎么破解
  2. 写一个php小脚本辅助渗透测试
  3. BT下载原理分析
  4. 为什么 MongoDB 连接数被用满了?
  5. PHP 表格 post 提交 接受
  6. edmx-新建表
  7. 第二百三十节,jQuery EasyUI,后台管理界面---后台管理
  8. 在mybatis 中批量加载mapper.xml
  9. Java WEB应用开发
  10. git 入门一(初识)