thinkphp中ajax用户名校验

ajax实在是太神奇了,刚刚接触,不足之处,请大家指正。

采用Ajax方式进行页面无刷新提示,来检测用户名是否存在。

搭建一个thinkphp的环境,在index.html中,ajax代码如下:

<script type="text/javascript">
    function checknickname(){
        //①    抓取被校验的用户名信息
        var nickname = document.getElementById("usernickname").value;
        nickname = encodeURIComponent(nickname);//特殊字符处理

        var ajaxObj = new XMLHttpRequest();
        ajaxObj.onreadystatechange = function(){
            if(ajaxObj.readyState==4){
                document.getElementById(‘check‘).innerHTML = ajaxObj.responseText;
            }
        }

        //②ajax抓取到用户名的昵称传递给服务器

        ajaxObj.open(‘GET‘,‘/thinkajax/index.php/Home/Index/checknicname?nickname=‘ + nickname);
        ajaxObj.send(null);
    }
</script>

html中:

<table align="center" border="0">
            <tr>
                <td>姓名:</td>
                <td><input type="text" name="username"/></td>
            </tr>
            <tr>
                <td>昵称:</td>
                <td>
                    <input type="text" name="usernickname" id="usernickname" onblur="checknickname()"/>
                    <span id="check" style="color:red"></span>
                </td>

            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="提交"/></td>
            </tr>
        </table>

在后台处理:

/*
     *用户昵称校验
    */
    public function checknicname($nickname){
        echo $nickname;
        $info = D(‘user‘)->where("usernickname=‘$nickname‘")->find();
        if($info){
            echo "用户名已经存在,请换一个吧";
        }else{
            echo "用户名正常使用!!";
        }
        exit;
    }

数据库里面,数据如下:

操作界面如下:

在昵称中输入数据库中没有的数据,失去焦点:

在昵称中输入数据库中存在的数据,失去焦点:

时间: 2024-09-30 04:41:48

thinkphp中ajax用户名校验的相关文章

thinkphp中AJAX返回ajaxReturn()方法分析

1 本文分析了thinkphp中AJAX返回ajaxReturn()方法.分享给大家供大家参考,具体如下: 2 系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端.并且支持JSON.XML和EVAL三种方式给客户端接受数据,通过配置DEFAULT_AJAX_RETURN进行设置,默认配置采用JSON格式返回数据,在选择不同的AJAX类库的时候可以使用不同的方式返回数据. 3 要使用ThinkPHP的ajaxReturn方法返回数据的话,需要

ThinkPHP中ajax绑定select下拉框无法显示

html代码: 控制器代码: 其中的<option value="{$vo.gradeId}">{$one.gradeName}</option> 在操作过程中无法自动填充,下拉框有位置,却无法填充数据库的原因是 数据库的命名统一 一致,不能使用驼峰命名法来命名数据库的表的名字. 可以使用下划线,横线来命名表.

thinkphp 中 ajax的使用

前台页面: 两种写法都可以: (1) // var ajaxurl = "{:U('Index/postDomain?ajax=1')}";   // 这样写也行   $.ajax({ // url: "/index.php/Home/Index/postDomain/ajax/1" ,  // 这样写也行                // url: ajaxurl ,                url: "{:U('Index/postDomain

thinkphp使用ajax

thinkphp使用ajax和之前使用ajax的方法一样,不同点在于之前的ajax中的url指向了一个页面,而thinkphp里面的url需要指向一个操作方法. 一.thinkphp使用ajax返回数据 1.先在Admin\Controller\MainController.class.php里面写一个方法 public function testajax()//ajax测试方法 { $this->show(); } 2.在Admin\View\Main文件夹里面建对应的显示页面testajax

TP框架---thinkphp使用ajax

thinkphp使用ajax和之前使用ajax的方法一样,不同点在于之前的ajax中的url指向了一个页面,而thinkphp里面的url需要指向一个操作方法. 一.thinkphp使用ajax返回数据 1.先在Admin\Controller\MainController.class.php里面写一个方法 public function testajax()//ajax测试方法 { $this->show(); } 2.在Admin\View\Main文件夹里面建对应的显示页面testajax

ajax实现用户名校验的传统和jquery的$.post方式

第一种:传统的ajax异步请求,后台代码以及效果在最下边 首先我们在eclipse中创建一个注册页面regist.jsp,创建一个form表单,注意,由于我们只是实现用户名校验的效果,下边红色部门是我们需要研究对象,所以其他的部门可以忽略不看. 内容如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><

ThinkPHP中使用ajax接收json数据的方法

本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先需要引入jquery.js,主要代码如下: 1 function ajax(id,pic){ 2 3 //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义. 4 5 var URL='__URL__'; 6 7 $.ajax({ 8 9 url: URL+

thinkphp中的ajax分页

thinkphp中用ajax分页和普通的ajax分页的区别在于处理位置的不同,thinkphp是在控制器的方法中处理ajax传的值,然后返回数据.下面是一个点击事件触发后,显示的内容用ajax分页. 下面的示例是同一个类别下,根据点击不同的分类显示出点击的分类的数据. 需要修改的地方用黄色背景标示. 1.ajax处理页面 $(".php_list").click(function(){//点击事件,可以根据自己的要求修改.也可以放在$(document).ready(function(

struts2中Ajax校验

Ajax(Asynchronous JavaScript and Xml),整合了JavaScript,XML,CSS,DOM,Ajax引擎(XMLHttpRequest). JavaScript语言:Ajax技术主要开发语言. XML/JSON/HTML等:用来封装请求或响应数据格式. DOM(文档对象模型)通过DOM属性或方法修改页面元素,实现页面局部刷新. CSS:改变样式,美化页面效果,提升用户体验度. Ajax引擎:即XMLHttpRequest对象,以异步方法在客户端与服务器端回见专