使用xmlHttprequest 发送异步请求(Ajax核心对象)

1.创建XMlHtttpRequest对象

因为浏览器不同载入xmlHttpRequst的方式也不一样

IE中:var  xmlhttp=new ActiveXObject("MSXML2.XMLHTTP");

其他浏览器:var  xmlhttp=new  XMLHttpRequest();

2.对onreadystatechange事件追加方法

当xmlhttp.readystate 状态改变时会自动触发这个事件

readystate可能出现的五种状态:

0:未初始化;XMLHttpRequest已经创建,但还未调用Open()方法;

1:载入;此阶段Open()方法已经执行,正在使用send()方法向服务器发送请求;

2:载入完成;send()执行结束,此时已获取响应的原始数据,但还不能在客户端使用;

3:交互;解析获取到的响应数据,根据响应头部的MIME类型把解析到的数据转换成ResponseText,ResponseXML,ResponseBody能存取的格式的数据。为客户端调用做准备。

4:完成;解析结束,直接可以通过XMLHttpRequest响应的属性,获取响应的数据;

xmlhttp.status:

1xx:信息响应类,表示接收到请求并且继续处理 
2xx:处理成功响应类,表示动作被成功接收、理解和接受 
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理 
4xx:客户端错误,客户请求包含语法错误或者是不能正确执行 
5xx:服务端错误,服务器不能正确执行一个正确的请求

readystate 与 status的区别

readystate是表示XMLHttpRequest发送请求的状态,是主体。status是表示在相应的请求状态下,具体的响应状态。readystate体现客户端发送请求的状态,status体现服务器具体的响应状态。

代码:

xmlhttp.onreadystatechange = function () {

if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var text = xmlhttp.responseText;//获取响应数据
alert(text);}

}

}

2.创建Http请求,发送请求

参数有5个:method:是post还是get请求;url:请求的地址 ; isAsync:是否异步发送请求;user:用户名;password:密码

xmlhttp.Open("POST",URL,isAsync);

3.自定义请求头

xmlhttp.setRequestHeader("Content-Type", "textxml"); 

4.发送请求

xmlhttp.send("<Method>GetData</Method>");

这只是初学者的理解,欢迎斧正!

时间: 2024-12-24 15:56:02

使用xmlHttprequest 发送异步请求(Ajax核心对象)的相关文章

ASP.NET AJAX核心对象

一.Ajax介绍 Ajax是2005年2月才诞生但是现在已经炙手可热的一项全新技术.这项新技术能够极大地改善网站的用户体验. 什么是Ajax Ajax是异步Javascript和XML(Asynchronous JavaScript and XML)的英文缩写. Ajax的核心理念在于使用XMLHttpRequest对象发送异步请求.Ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一起,共同的协作中发挥各自的作用. Ajax的优点 1.减轻服务器的负担.Ajax的原则是"按

【后知后觉】AJAX核心对象——XMLHttpRequest

自从把AJAX学了之后,就是在云里雾里飘着,想总结,却无从下手,就一直拖到现在.最近看DRP,王勇老师简单的讲了AJAX,对这个又是技术又是技巧的东西做了再一次的解,感觉自己稍微理解了一些.现将我现在理解的分享下. 首先什么是AJAX呢? AJAX简介: AJAX这个名词最早是由Jesse James Garrett提出的,当时给出的解释是:Asynchronous JavaScript And XML,虽然当时Jesse James Garrett也曾发表文章介绍这个技术,但是真正被人们所熟知

AJAX的来龙去脉(由来)-如果被封装出来的--ajax发送异步请求(四步操作)

<黑马程序员_超全面的JavaWeb视频教程vedio\JavaWeb视频教程_day23_ajax> \JavaWeb视频教程_day23_ajax\day23ajax_avi\14.打包ajax生成小工具.avi;  有介绍: 个人理解:就是封装了 XMLHttpRequest 的请求方法:演变而成我们常用的 ajax: =====原始的请求方式: ajax发送异步请求(四步操作) 1. 第一步(得到XMLHttpRequest) * ajax其实只需要学习一个对象:XMLHttpRequ

使用Ajax发送异步请求的步骤

1.获取Ajax对象:获取XMLHttpRequest对象实例 function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest();//非IE浏览器 }else{ xhr = new ActiveXObject('Microsoft.XMLHttp');//IE浏览器 } return xhr; } 2.设置回调函数:为Ajax对象的readystatechange事件设定响应函数 xh

使用AJAX技术发送异步请求,HTTP服务端推送

使用AJAX技术发送异步请求 什么是AJAX AJAX指一步Javascript和XML(Asynchronous JavaScript And XML),它是一些列技术的组合,简单来说AJAX基于XMLHttpRequest让我们在不重载页面的情况下和服务器进行数据交换. 加上JavaScript和DOM(Document Object Model,文档对象模型),我们就可以在接收到响应数据后局部更新页面.XML指的是数据的交互模式,可以是纯文本(Plain Text).HTML或JSON.

[js开源组件开发]network异步请求ajax的扩展

network异步请求ajax的扩展 在日常的应用中,你可能直接调用$.ajax是会有些问题的,比如说用户的重复点击,比如说我只希望它成功提交一次后就不能再提交,比如说我希望有个正在提交的loading效果.所以我做network这个组件来扩展$.ajax,希望全中国的人民们喜欢. 这里使用到了上篇[js开源组件开发]loading加载效果 一个loading效果,但为了让它独立运行,所以没有进行引用,而是直接做了一个loading方法在里面.它的具体效果图如下: 它的实例DEMO地址请点击这里

ASIHTTPRequest框架使用(2)--发送异步请求

同步请求一般只是用在某个子线程中使用,而不在主线程中使用.异步请求的用户体验要比同步请求好,因此一般情况下异步请求用的多. ASIHTTPRequest和ASIFormDataRequest两个请求类都可以发送异步请求.ASIFormDataRequest继承了ASIHTTPRequest异步请求方法,所以重点介绍ASIHTTPRequest的异步请求. 1.借助Delegate处理请求 - (void)startRequest { NSString *strUrl = [[NSString a

Ajax核心对象——高速上手XmlHttpRequest

引言: 非TGB的.直接跳过吧-- 从开学结束JQuery之后,计算机的进度停了一段时间.某天无聊的时候,又又一次把BS的东西拿过来看了看. 发现里面有非常多既熟悉又陌生的东西. 在学习王兴魁老师的Ajax的时候,里面的东西,大多都是之前学过的.在学习JS的时候.有非常多js资料. 非常多人看的都是牛腩js和姜浩的js.可是我师父让我看李炎恢的js. 刚開始的时候感觉挺怪的.牛腩的js一周,姜浩的js 一周.李炎恢的js 150集据说至少看三个星期. 尽管感觉压力大了点. 可是等真正看的时候.才

Ajax核心对象——快速上手XmlHttpRequest

引言: 非TGB的,直接跳过吧-- 从开学结束JQuery之后,计算机的进度停了一段时间.某天无聊的时候,又重新把BS的东西拿过来看了看.发现里面有很多既熟悉又陌生的东西. 在学习王兴魁老师的Ajax的时候,里面的东西,大多都是之前学过的.在学习JS的时候,有很多js资料.很多人看的都是牛腩js和姜浩的js.但是我师父让我看李炎恢的js.刚开始的时候感觉挺怪的.牛腩的js一周,姜浩的js 一周.李炎恢的js 150集据说至少看三个星期. 虽然感觉压力大了点.但是等真正看的时候,才发现这150集的