原生JS简单实现ajax的方法示例


Posted in Javascript onNovember 29, 2016

本文实例讲述了原生JS简单实现ajax的方法。分享给大家供大家参考,具体如下:

HTML部分:

<body>
<input type="button" value="Ajax提交" onclick="Ajax();" />
<div id="resText" ></div>
</body>

这里有个input按钮,点击会触发click事件,click事件调用Ajax()方法。

JS部分:

<script language="javascript" type="text/javascript">
//通过这个函数来异步获取信息
function Ajax(){ 
  var xmlHttpReq = null;  //声明一个空对象用来装入XMLHttpRequest
  if (window.ActiveXObject){//IE5 IE6是以ActiveXObject的方式引入XMLHttpRequest的
    xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
  } 
  else if (window.XMLHttpRequest){//除IE5 IE6 以外的浏览器XMLHttpRequest是window的子对象
    xmlHttpReq = new XMLHttpRequest();//实例化一个XMLHttpRequest
  }
  if(xmlHttpReq != null){  //如果对象实例化成功 
    xmlHttpReq.open("GET","test.php",true);  //调用open()方法并采用异步方式
    xmlHttpReq.onreadystatechange=RequestCallBack; //设置回调函数
    xmlHttpReq.send(null);  //因为使用get方式提交,所以可以使用null参调用
  }
  function RequestCallBack(){//一旦readyState值改变,将会调用这个函数
    if(xmlHttpReq.readyState == 4){
        if(xmlHttpReq.status == 200){
          //将xmlHttpReq.responseText的值赋给ID为 resText 的元素
          document.getElementById("resText").innerHTML = xmlHttpReq.responseText;
        }
    }
  }
}
</script>

Ajax大约分四步,创建Ajax对象,用open()方法偷偷的跑到服务器去获取数据,成功后做相应的处理。用GET方法将要提交的参数写到open方法的url参数中就行了,此时send方法的参数为null。

例如GET方法 :

var url = "login.php?user=XXX&pwd=XXX";
xmlHttpRequest.open("GET",url,true);
xmlHttpRequset.send(null);

例如POST方法:

xmlHttpRequest.open("POST","login.php",true);
xmlHttpRequest.setRequestHeder("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlHttpRequest.send("user="+username+"&pwd="+password);

如果需要在send里传递参数则setRequestHeder是必须的

需要注意的是根据提交方式的不同,两种提交方式分别调用后台的doGet方法和doPost方法处理。

PHP部分:

<?php
  echo "Hello Ajax!";
?>

Ajax获取了PHP的数据后,就会偷偷的将数据放到相应的div层中。这个click事件并没有使得页面刷新,就偷偷的获取了服务器端的数据,服务端的数据也可以是从数据库里读取出来的,获取数据后,Ajax还可以进行一些动作的处理。

一切都在悄无声息中。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 Javascript
页面只有一个text的时候,回车自动submit的解决方法
Aug 12 Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
Apr 26 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
Jun 13 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 Javascript
js canvas画布实现高斯模糊效果
Nov 27 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 Javascript
Vue data的数据响应式到底是如何实现的
Feb 11 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 #Javascript
使用Vue.js创建一个时间跟踪的单页应用
Nov 28 #Javascript
js拖拽功能实现代码解析
Nov 28 #Javascript
百度搜索框智能提示案例jsonp
Nov 28 #Javascript
JS函数多个参数默认值指定方法分析
Nov 28 #Javascript
ajax级联菜单实现方法实例分析
Nov 28 #Javascript
jQuery select自动选中功能实现方法分析
Nov 28 #Javascript
You might like
php daodb插入、更新与删除数据
2009/03/19 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
自写的一个jQuery圆角插件
2010/10/26 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
Python中字符串的格式化方法小结
2016/05/03 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
纽约手袋品牌:KARA
2018/03/18 全球购物
2014年秘书工作总结
2014/11/25 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书