JavaScript 原生ajax的简单示例
2017-06-17 12:44
295 查看
需求
通过html页面的按钮,将页面中的某个输入框的值传递到服务器,数据经过处理后显示在输入框下方。
实现过程
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> function cl(){ var data = document.getElementById("in").value; //创建XMLHttpRequest对象 var xhr = getHTTPObject(); //异步执行时根据处理状态执行的函数 xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ //处理成功获取结果值 document.getElementById("show").innerHTML = "成功-数据:" + xhr.responseText; }else if(xhr.status == 404){ document.getElementById("show").innerHTML = "找不到处理的页面"; } else{ document.getElementById("show").innerHTML = "处理中"; } } //第三个参数代表async值,如果为true代表异步执行,false代表同步执行。 //同步执行会在请求过程中锁定浏览器。 xhr.open("POST","action.php",true); //设置post提交请求头 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //放入post方式提交的数据 xhr.send("good=" + data +"&status=1"); } //针对不同浏览器来获取XMLHttpRequest对象 function getHTTPObject() { if(typeof XMLHttpRequest == "undefined") XMLHttpRequest = function() { try{return new ActiveXObject("Msxml2.XMLHTTP.6.0");} catch(e){} try{return new ActiveXObject("Msxml2.XMLHTTP.3.0");} catch(e){} try{return new ActiveXObject("Msxml2.XMLHTTP");} catch(e){} return false; } return new XMLHttpRequest(); } </script> </head> <body> <input type="text" name="good" id="in"> <button onclick="cl();">click me</button> <div id="show"></div> </body> </html>
如果要用GET方式提交的话,将以下代码置入替换
xhr.open("GET","action.php?good="+data+"status=1",true); xhr.send();
<?php //让程序返回数据前休眠3s sleep(3); echo $_POST['good']."*状态为:".$_POST['status']; ?>
结果
XMLHttpRequest 中的readystate状态表
readystate | 描述 |
---|---|
0 | 请求未初始化 |
1 | 已建立服务器连接 |
2 | 请求已被服务器接收 |
3 | 正在处理中 |
4 | 处理完成,响应就绪 |
相关文章推荐
- 转贴:JavaScript实现Ajax请求简单示例
- 原生JS简单实现ajax的方法示例
- 利用javascript实现原生简单ajax的方法。
- javascript实现简单的ajax封装示例
- 原生javascript和jquery实现简单的ajax例子
- 原生JavaScript实现的简单省市县三级联动功能示例
- JavaScript实现Ajax请求简单示例
- [JavaScript]AJAX方法简单示例——1(.load()方法)
- 原生JavaScript实现的简单放大镜效果示例
- JavaScript实现Ajax请求简单示例
- 原生javascript实现的ajax异步封装功能示例
- JavaScript原生ajax示例
- ajax简单示例(XML+XSLT+JavaScript+JAVA)(version1)
- 原生JavaScript实现remove()和recover()功能示例
- 原生Javascript封装的一个AJAX函数分享
- 原生JavaScript封装ajax,可以直接使用
- AJAX原生JavaScript写法
- ASP.NET AJAX(5)__JavaScript原生类型以及Microsoft AJAX Library
- 原生javaScript实现Ajax
- 原生JavaScript封装的ajax提交表单form