💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
完成验证用户名案例,要求用户名唯一,就是不能有重复。 页面中有一个文本框,当失去焦点的时候,验证输出的内容是否已经存在。 # 1、创建所需文件 创建03chkusername.html: ![](https://img.kancloud.cn/4e/a8/4ea88767f64b7f3dc7403a78f50a9a8d_673x39.png) 创建03chkusername.php ![](https://img.kancloud.cn/e9/e6/e9e6f1c01ca04fb92e33e70c33cc4b3a_721x163.png) # 2、当input失去焦点,准备发送 ![](https://img.kancloud.cn/9c/88/9c881230fce625bbe5df8e4e9aa51feb_944x437.png) 因为用get方式请求,所以参数直接写到url上即可。服务器端获取地址栏的参数,同样使用$_GET来获取。 # 3、发送请求 调用Ajax对象的send方法发送请求到服务器。 ![](https://img.kancloud.cn/13/ce/13ce7f6c8ac6b39f15c27660e4dadc41_946x419.png) # 4、服务器接收数据并判断 ![](https://img.kancloud.cn/db/81/db81f5bd9aa2ee9ef9ec87ff3de03bde_699x412.png) 判断完成,将判断的结果返回给浏览器。echo出来的东西就是返回给浏览器的内容。 测试: ![](https://img.kancloud.cn/d8/92/d8929419ccc5c000d9de75fa24e71d7b_1257x605.png) # 5、接收服务器返回的数据,并处理 ![](https://img.kancloud.cn/45/57/4557fc3c953413c9289840d70754e51f_1068x486.png) 经过测试,发现并没有成功接收到服务器返回的数据。通过console.log(result);查看到的结果什么都么有。 # 6、监听Ajax执行状态 发送请求完毕,不应该马上就接收服务器返回的数据,应该判断一下Ajax进行到哪一步了。如果说进行到最后一步了,即服务器返回数据完毕,这个时候才应该获取服务器返回的数据。 Ajax对象中用onreadystatechange属性(事件),来监听(检测)Ajax执行到哪一步了。 Ajax对象中用readyState属性来表示Ajax的状态,具体是readyState属性值如下: ![](https://img.kancloud.cn/44/9e/449eb29c4155820cc76ca1760479aae5_788x151.png) ![](https://img.kancloud.cn/76/73/7673156c7f4065503f4c1a11adf228ec_1142x557.png) # 7、使用Ajax步骤总结 ![](https://img.kancloud.cn/45/e2/45e25d914dfab68515deb6ac67eeb40d_1138x490.png)