AJAX XMLHttpRequest对象详解_AJAX相关

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
xmlhttprequest对象
ajax xmlhttprequest、xmlhttprequest与ajax、ajax中xmlhttprequest、request对象详解、xmlhttprequest对象,以便于您获取更多的相关知识。

时间: 2024-11-03 21:17:18

AJAX XMLHttpRequest对象详解_AJAX相关的相关文章

$.ajax()方法参数详解_AJAX相关

会灵活的运用ajax的方法,非常重要,本文先给大家介绍ajax的几种方法,然后通过实例给大家分析详解,具体内容请看下文吧 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持. 3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全

Jquery中$.ajax()方法参数详解_AJAX相关

俗说好记性不如个烂笔头,下面是jquery中的ajax方法参数详解,这里整理了一些供大家参考.  1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持. 3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设置. 4.async

Ajax教程实例详解_AJAX相关

什么是 AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下(AJAX 是一种用于创建快速动态网页的技术). 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如

AJAX XMLHttpRequest对象详解

XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础.尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用:但是,我们仍然很有必要理解这个对象的详细工作机制. 一.引言 异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程.这一技术的优点在于,它向开发者提供了一种从Web服务器检索数据而不必把用户当前正在观察的页面回馈给服务器.与现代浏览器的通过存取浏览器DOM

使用ajax操作JavaScript 对象详解_AJAX相关

通过请求获取充分格式化的HTML虽然很方便,但这也意味着必须在传输文本内容的同时也 传输很多HTML标签.有时候,我们希望能够尽量少传输一些数据,然后马上处理这些数据.在 这种情况,我们希望取得能够通过JavaScript进行遍历的数据结构.           使用jQueiy的选择符可以遍历和操作取得的HTML结构,但是还有一种JavaScript内置的数据 格式,既能减少数据传输量,也会减少编码量. 1.取得JSON   前面我们曾经看到过,JavaScript对象是由一些"键-值&quo

Ajax $.getJSON案例详解_AJAX相关

复制代码 代码如下: <script type="text/javascript"> function pageIndexChanged() { var url = "/OrderList/Lists"; var where = ""; @*location.href = "@this.Url.Action("List")?pageindex=" + $("#pager").

jQuery中ajax - get() 方法实例详解_AJAX相关

在jquery中使用get,post和ajax方法给服务器端传递数据,在上篇文章给大家分享了jquery中ajax-post()方法实例,下面通过本文继续学习jQuery中ajax - get() 方法,具体介绍请看下文. jQuery Ajax 参考手册 实例 使用 AJAX 的 GET 请求来改变 div 元素的文本: $("button").click(function(){ $.get("demo_ajax_load.txt", function(resul

jQuery中ajax - post() 方法实例详解_AJAX相关

在jquery中的ajax有二个数据发送模式,一种是get,另一种是post(). jQuery Ajax 参考手册 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); TIY 实例 通过 AJAX POST 请求改变 div 元素的文本: $("input").keyup(function(){ txt=$("input").val(); $.post("demo_ajax_gethint.asp

ajax数据传输方式实例详解_AJAX相关

本文实例讲述了ajax数据传输方式.分享给大家供大家参考,具体如下: 在异步应用程序中发送和接收信息时,常见的可以选择以纯文本和XML作为数据格式(可参考<jQuery学习笔记之Ajax用法实例详解>),现在还有一种比较流行的方式:JSON(JavaScript Object Notation).好了,下面举例说明这三种数据格式在ajax的异步应用. 一.纯文本方式 1.发送/接收数据: Code is cheap.看代码: testJs.js // 此函数等价于document.getEle