使用javascript原生XMLHttpRequest对象进行ajax交互
2016-07-04 10:19
639 查看
AJAX(Asynchronous Javascript And XML):异步javascript和xml,是一种创建交互式网页应用的网页开发技术。
AJAX通过在后台与服务器进行数据交换,从而使网页实现异步更新,提高了系统性能和用户友好度。
//post请求
//get请求:
//后台请求页:
AJAX通过在后台与服务器进行数据交换,从而使网页实现异步更新,提高了系统性能和用户友好度。
//post请求
<script type="text/javascript"> window.onload=function(){ var username=document.getElementById("name"); username.onblur=function(){ var name=this.value; if(name == ''){ document.getElementById('tip').innerHTML="<b class='notice'>请输入用户名</b>"; return; } /* if(window.XMLHttpRequest){ //code for IE7+,Firefox,Chrome,Opera,Safari xhr=new XMLHttpRequest(); } else { //code for IE6,IE5 xhr = new ActiveXObject("Microsoft.XMLHTTP"); } */ //此处默认为内建XMLHttpRequest对象浏览器 var xhr=new XMLHttpRequest(); //打开网页(请求方法,请求网页,是否异步交互['是'=>true,'否'=>false]) xhr.open('post','demo_post.php',true); //设置请求头信息 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //发送数据 xhr.send("name="+name); xhr.onreadystatechange=function(){ //XMLHttpRequest对象的三个重要属性:readyState、onreadystatechange、Status,每当readyState改变时,就会触发onreadystatechange事件 //readyState属性存有XMLHttpRequest的状态信息,从0到4发生变化: // 0:请求未初始化 // 1:服务器连接已建立 // 2:请求已接收 // 3:请求处理中 // 4:请求已完成,且响应已就绪 if(this.readyState == 4 && this.status == 200) { //alert(this.responseText); if(this.responseText != 1){ alert("该用户名已经注册!"); } else { alert("可以注册!"); } } } } } </script>
//get请求:
<script type="text/javascript"> window.onload=function(){ var username = document.getElementById("name"); username.onblur = function(){ var name = this.value; if(name == ""){ document.getElementById("tip").innerHTML = "<b class='notice'>请输入用户名</b>"; return; } var xhr = new XMLHttpRequest(); //var uri = "demo_get.php?name="+name; xhr.open("get","demo_get.php?name="+name,true); //true代表异步交互 //xhr.open("get","demo_get.php?t="+Math.random,) //get无需设置头信息 , xhr.send(null); //回调函数 xhr.onreadystatechange=function(){ if(this.readyState == 4 && this.status == 200){ //alert(this.responseText); if(this.responseText != 1){ alert("该用户名已经注册!"); } else { alert("可以注册!"); } } } } } </script>
//后台请求页:
<?php $name = $_POST['name']; //or $name = $_GET['name']; $dsn = "mysql:host=localhost;dbname=demo"; $db = new PDO($dsn,'root',''); $res = $db->query("select * from tbl_user where username='".$name."'"); if($res->fetch()) { echo 0; //不可以注册 } else { echo 1; //可以注册 }
相关文章推荐
- http协议头字段分析
- 怎样利用网络来赚钱
- 计蒜之道复赛F题 菜鸟物流的运输网络(网络流)
- TCP/IP四层模型
- 网络拥塞控制与NS2仿真
- ANN_MLP神经网络使用流程详述
- HTTPS加密越来越流行,为何要加密?
- 1、HTTP--Web's foundation
- HTTPS加密越来越流行,为何要加密?
- Swift网络封装库Moya中文手册之Authentication
- HTTPS加密越来越流行,为何要加密?
- 网络基础笔记整理
- Puppet下部署相关服务(httpd)
- iOS中使用NSURLConnection处理HTTP同步与异步请求
- Java反射机制,测试,android访问网络授权设置
- 15.1 socket--网络接口库
- 研究网络标准组织
- Tcp close wait状态
- 聊聊Socket、TCP/IP、HTTP、FTP及网络编程
- Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is ins