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

 更新时间:2016年11月29日 08:52:38   作者:牛逼的霍啸林  
这篇文章主要介绍了原生JS简单实现ajax的方法,结合实例形式分析了ajax的实现步骤与相关使用技巧,需要的朋友可以参考下

本文实例讲述了原生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中ajax操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

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

相关文章

  • setInterval计时器不准的问题解决方法

    setInterval计时器不准的问题解决方法

    在js中如果打算使用setInterval进行倒数,计时等功能,往往是不准确的,针对这个问题,本文有个不错的解决方案
    2014-05-05
  • 全面解析Bootstrap布局组件应用

    全面解析Bootstrap布局组件应用

    这篇文章主要为大家全面解析Bootstrap布局组件应用,几乎对所有Bootstrap布局组件示例进行了解析,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • javascript的var与let,const之间的区别详解

    javascript的var与let,const之间的区别详解

    这篇文章主要为大家介绍了 javascript的var与let,const之间的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • js操作CheckBoxList实现全选/反选(在客服端完成)

    js操作CheckBoxList实现全选/反选(在客服端完成)

    对于CheckBoxList控件来说,一方面要实现大量数据在服务器端的绑定工作,另一方面往往要求实现全选、反选等功能,接下来将介绍js操作CheckBoxList实现全选/反选,感兴趣的朋友可以了解下,或许对你有所帮助
    2013-02-02
  • 100个不能错过的实用JS自定义函数

    100个不能错过的实用JS自定义函数

    本文收集了100个原生态JavaScript编写的常用、实用自定义函数,需要的朋友可以参考下
    2014-03-03
  • JavaScript生成随机数的各种方法大全

    JavaScript生成随机数的各种方法大全

    JavaScript 是一门强大的编程语言,在前端和后端开发中广泛使用,生成随机数是 JavaScript 开发中的常见需求,应用场景包括游戏开发、验证码生成、数据模拟等,本文将详细介绍 JavaScript 中生成随机数的各种方法,并分析其适用场景和优缺点,需要的朋友可以参考下
    2025-03-03
  • 一文详解Vue中插槽的具体使用

    一文详解Vue中插槽的具体使用

    Vue的插槽(Slot)是一种可以让父组件向子组件传递内容的机制,这篇文章主要通过一些简单的示例为大家介绍了插槽的具体使用,感兴趣的小伙伴可以了解一下
    2023-06-06
  • Bootstrap和Java分页实例第一篇

    Bootstrap和Java分页实例第一篇

    这篇文章主要为大家详细介绍了Bootstrap和Java分页实例第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • js判断文件类型大小并给出提示的实现方法

    js判断文件类型大小并给出提示的实现方法

    下面小编就为大家分享一篇js判断文件类型大小并给出提示的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • JavaScript实现图片懒加载(Lazyload)

    JavaScript实现图片懒加载(Lazyload)

    这篇文章主要介绍了JavaScript实现图片懒加载(Lazyload)的相关资料,需要的朋友可以参考下
    2016-11-11

最新评论