jq的ajax用法

今天查看原来做的页面注册代码,发现用了jQuery的ajax,看看笔记居然找到了记录下来的使用方法。异步请求太重要了,经常需要用到,比如页面注册检查是否已存在用户、验证码是否正确、口令是否正确等,不需要刷新页面就可以事实提示了。把原来的笔记记录来这里:

首先要引入jQuery,因为这是用jq实现的,用JavaScript原生态的要实现这个功能需要写很多的判断,用jq简单方便。

<script type="text/javascript">
        $('#zan').click(function(){
        /* $.post("/blog/love.php?bid="+<?php echo $blog['bid'];?>); */
        $.ajax({
                async:true,//异步方式开启
                type:'post',//提交表单方式,默认是get
                //url:"/blog/love.php?bid="+<?php echo $blog['bid'];?>,//提交的地址
                url:'URL',//提交的地址
                //timeout:10,//请求时间毫秒
                beforeSend:function(){ //发送前
                $('#zanCount').css('background','pink');
        },
        cache:false,//是否缓存,默认false
        date:function(){//发送到服务器的数据
                "You are my love but I don't want to beyond!";
        },
        error:function(){//请求失败时执行内容
                alert("点赞失败");
        },
        success:function(){//请求成功执行内容
                $('#zan').attr('disabled',true);
                $('#zanCount').html("已赞[<?php echo $blog['zan']+1;?>]");
        },
        complete:function(){//执行完成后,不管请求成不成功,都进行还原
                $('#zanCount').css('background','#E6BDC0');
         }
        });

        });
        //理想很美好,可惜你不会跟我走
</script>

 案例2 :验证用户是否存在

ajax代码:

$("#username").blur(function(){
			$.post("{:U('/Home/Login/check_user')}",{
				username : $("#username").val()//username 是提交的内容
				}, function(data){
					if(data == 1){
						$('#user_check').css('color','red')
						$("#user_check").html("该用户名已被注册!")						
					}else(
						$("#user_check").html("该用户名可用!")	
					)
				})
		})		
html代码:


<div>
	<label for="user">用户名:</label><span id="user_check"></span>
	<input type="text" class="form-control" id="username" name="username" placeholder="支持中文、英文、数字及其组合" />
</div>
php代码(我用thinkphp)


//检查用户是否存在
	public function check_user(){
		$users = D('tea_user');
		$user = I('post.username');
		$check = $users->where(array('username'=>$user))->find();		
		if($check){
			$data = 1;
			$this->ajaxReturn($data);			
		}else{
			$data = 0;
			$this ->ajaxReturn($data);
		}
	}


如果已经存在相同的用户名,效果如下:




评论/留言