AJAX XMLHttpRequest对象详解

 更新时间:2016年03月28日 15:16:29   作者:王朋波  
这篇文章主要为大家详细介绍了AJAX XMLHttpRequest对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

AJAX是一种创建交互式网页应用的网页开发技术,是异步Javascript和XML的集合。其核心是XMLHttpRequest对象,可以在不向服务器端提交整个页面的情况下,实现局部更新网页,它是AJAX的Web应用程序架构的一项关键技术。
基本属性:

基本方法:

XMLHttpRequest五步法:      
第一:创建XMLHttpRequest对象
第二:注册回调函数
第三:设置和服务器交互的参数
第四:设置向服务器端发送的数据,启动和服务器端的交互
第五:判断和服务器端的交互是否完成,还有判断服务器端是否返回正确的数据
HTML代码:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
 <title></title> 
 <script type="text/javascript" > 
  var xmlhttp; 
  function submit() {    
   //1、创建XMLHttpRequest对象 
   if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
    if (xmlhttp.overrideMineType) {//针对某些特定版本的mozillar浏览器的BUG进行修正 
     //将覆盖发送给服务器的头部,强制 text/xml 作为 mime-type 
     xmlhttp.overrideMineType("text/xml"); 
    } 
   } else if (window.ActiveXObject) {//针对IE浏览器进行处理 
    var activexName = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", 
   "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", 
   "MSXML2.XMLHTTP", "Miscrosoft XMLHTTP"]; 
    for (var i = 0; i < activexName.length; i++) { 
     try{ 
      xmlhttp=new ActiveXObject(activexName[i]); 
      break; 
     } catch (e) { } 
    } 
   } 
 
   if (xmlhttp == undefined || xmlhttp == null) { 
    alert("当前浏览器不支持插件XMLHttpRequest对象,请更换浏览器"); 
    return; 
   } 
 
   //2、注册回调函数 
   xmlhttp.onreadystatechange = callback; 
   //获取当前值 
   var username = document.getElementById("userName").value; 
   //设置字符串参数,并进行编码(用于POST提交方式) 
   var args = "username=" + encodeURIComponent(username); 
 
   //GET 交互 
   //3、设置和服务器端交互的参数 
   //xmlhttp.open("GET", "XMLHttpRequest.aspx?username=" + username, true); 
 
   //POST交互 
   //3、设置和服务器端交互的参数 
   //使用Post方式不用担心缓存 
   xmlhttp.open("POST", "XMLHttpRequest.aspx?username=" + username, true); 
   //设置Content-Type类型,告知服务器实体中有参数 
   xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
 
 
   //4、设置向服务器端发送的数据,启动和服务器端的交互 
   //用于GET提交 
   //xmlhttp.send(null); 
   //用于POST提交 
   xmlhttp.send(args); 
 
   function callback() { 
    //5、判断和服务器端的交互是否完成,还有判断服务器端是否正确返回了数据 
    if (xmlhttp.readyState == 4) {//readyState=4表示交互完成 
     if (xmlhttp.status == 200) {//status=200表示正确返回了数据 
      //纯文本数据的接收方法 
      var message = xmlhttp.responseText; 
      var div = document.getElementById("message"); 
      div.innerHTML = message; 
     } 
    } 
   } 
  } 
 </script> 
</head> 
<body> 
 <input type="text" id="userName" /> 
 <input type="button" value="用户名校验" onclick="submit()" /> 
 <br /> 
 <div id="message"></div> 
</body> 
</html> 

aspx中的代码:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
 
namespace XMLHttpRequest五步法 
{ 
 public partial class XMLHttpRequest : System.Web.UI.Page 
 { 
  protected void Page_Load(object sender, EventArgs e) 
  { 
   //Response.Clear(); 
   //获取当前值,get提交使用Request.QueryString方法 
   //string username = Request.QueryString["username"]; 
   //POST提交,使用Request.Form 
   string username = Request.Form["username"]; 
 
   Response.Write("姓名:'" 
    + username + "'<br/>时间:'" + DateTime.Now.ToString() + "'"); 
   Response.End(); 
  } 
 } 
} 

 总结:

     XMLHttpRequest是AJAX的核心部分,需要好好理解。刚开始接触的时候,有些不明白是怎么回事,而且视频中讲的也是原生的AJAX,表面上看来不太好理解,但是通过具体的demo实践,就会发现其实这个挺容易理解的。

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • ajax三级联动下拉菜单效果

    ajax三级联动下拉菜单效果

    这篇文章主要为大家详细介绍了ajax三级联动下拉菜单的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • AJAX获取服务器当前时间及时间格式输出处理

    AJAX获取服务器当前时间及时间格式输出处理

    本文整理了关于AJAX获取服务器当前时间的知识,不会的朋友可以参考下哈,希望对你有所帮助
    2013-05-05
  • ajax完美解决的下拉框的onchange问题

    ajax完美解决的下拉框的onchange问题

    最近老总提了一个小功能,在搜索网吧列表的时候加上网吧所属代理商这个条件,原有的搜索条件是一个地区二级联动,现在需要根据不同的地区显示不同的代理商集合。
    2010-08-08
  • ajax和jsonp跨域的原理本质详解

    ajax和jsonp跨域的原理本质详解

    跨域问题是我们在开发中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于ajax和jsonp跨域的原理本质,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • 一个伪ajax图片上传代码实现示例

    一个伪ajax图片上传代码实现示例

    这篇文章主要介绍了自己写的一个伪ajax图片上传实现代码,需要的朋友可以参考下
    2014-03-03
  • 浅析AJAX乱码及错误解决方案

    浅析AJAX乱码及错误解决方案

    据不可靠消息JavaScript是用Unicode UTF-8作为内码的,但是在目前混乱的浏览器环境中各种错误都有,特别是加入了更加混乱的AJAX后
    2013-07-07
  • layui的checbox在Ajax局部刷新下的设置方法

    layui的checbox在Ajax局部刷新下的设置方法

    今天小编就为大家分享一篇layui的checbox在Ajax局部刷新下的设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Ajax 请求队列解决方案并结合elementUi做全局加载状态

    Ajax 请求队列解决方案并结合elementUi做全局加载状态

    这篇文章主要介绍了Ajax 请求队列解决方案并结合elementUi做全局加载状态,使用 消息队列 制作 请求防抖,防止重复请求印象服务器,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • Ajax+php数据交互并且局部刷新页面的实现详解

    Ajax+php数据交互并且局部刷新页面的实现详解

    这篇文章主要给大家介绍了关于利用Ajax与php数据交互并且局部刷新页面的实现方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-07-07
  • Ajax 超时检查脚本

    Ajax 超时检查脚本

    检查Ajax 是否超时的脚本代码
    2009-07-07

最新评论