MLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始。
了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequest 对象使用不同的方法:
先看看IE创建XMLHttpRequest 对象的方法(方法1):
var xmlhttp=ActiveXobject("Msxml12.XMLHTTP");//较新的IE版本创建Msxml12.XMLHTTP对象
var xmlhttp=ActiveXobject("Microsoft.XMLHTTP");//较老的IE版本创建Microsoft.XMLHTTP对象
而 Mozilla、Opera、Safari 和大部分非IE的浏览器都使用下面这种方法(方法2)创建XMLHttpRequest 对象:
var xmlhttp=new XMLHttpRequest();
注意:实际上Internet Explorer 使用了一个名为 XMLHttp 的对象,而不是 XMLHttpRequest 对象,而 Mozilla、Opera、Safari 和 大部分非 Microsoft 浏览器都使用的是后者(下文统称 XMLHttpRequest 对象)。IE7开始也开始使用XMLHttpRequest 对象了。
因此我们需要创建一个能兼容多浏览器的XMLHTTPRequest对象:
第一种方法:
var xmlhttp=false;//创建一个新变量并赋值false,使用false作为判断条件说明还没有创建XMLHTTPRequest对象
function CreateXMLHttp(){
try{
xmlhttp=new XMLHttpRequest();//尝试创建 XMLHttpRequest 对象,除 IE 外的浏览器都支持这个方法。
}catch(e){
try{
xmlhttp=ActiveXobject("Msxml12.XMLHTTP");//使用较新版本的 IE 创建 IE 兼容的对象(Msxml2.XMLHTTP)。
}catch(e){
try{
xmlhttp=ActiveXobject("Microsoft.XMLHTTP");//使用较老版本的 IE 创建 IE 兼容的对象(Microsoft.XMLHTTP)。
}catch(failed){
xmlhttp=false;//如果失败了还保持false
}
}
}
return xmlhttp;
}
判断是否成功的例子:
if(!xmlhttp){
创建xmlhttp失败
}else{
创建xmlhttp成功
}
第二种方法:
if(typeof(XMLHttpRequest)=="undefined" && window.ActiveXObject){
function XMLHttpRequest(){
var xmlhttp_arr=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
var xmlhttp;
for(i=0;i<xmlhttp_arr.length;i++){
if(xmlhttp=new ActiveXObject(xmlhttp_arr[i]))
break;
}
return xmlhttp;
}
}
//这个是除了IE之外的浏览器创建XMLHttpRequest对象
var xmlhttp=new XMLHttpRequest();
创建xmlhttp成功后,然后再来看看它的一些属性和方法吧,还有最重要的onreadystatechange事件句柄
方法:
open() 初始化http请求参数,包括URL和http方法,但是不发送请求;
abort() 取消当前响应,关闭连接并断开所有网络未结束的活动;
getAllResponseHeaders() 把http响应头部作为未解析字符串返回;
getResponseHeaders) 返回指定的http响应头的值;
send() 发送http请求使用传递给open()方法的参数,以及传个该方法的可选请求体;
setResponseHeader() 向一个打开但没有发送的请求设置或添加一个Http请求。
属性:
readyState 说明http请求的状态;(有5个状态分别是
0 表示没有初始化;
1 表示读取中
2 表示已读取
3 交互中(接受中)
4 完成
)
responseText 说明为服务器接收到得响应体,如果没有接收到数据就返回空字符串;
responseXML 说明对请求的回应 解析为XML并用document对象返回;
status 说明http请求的状态;
statusText 说明http请求状态不是以数字形式而是用名称;
onreadystatechange 是readySate状态改变时调用事件的函数。
下面是一个发送请求数据并返回结果的xmlhttpRequest对象;
生成一个XMLHTTPRequest对象
var xmlhttp=CreatXMLHttp();
xmlhttp.open("get","https://www./jaryle",true);
xmlhttp.onReadyStateChange=getresult;
//怎么告诉XMLHttpRequest 对象状态变化时让谁来处理这个变化呢用到二种方法:一种是匿名方法xmlhttp.onReadyStateChange=function(){处理变化的代码}
另一种方法:指定方法:xmlhttp.onReadyStateChange=getresult;
function getresult(){处理变化的代码}
xmlhttp.send();
function getresult(){
if(xmlhttp.readyState==4){ //当readyState的状态等于4时表示接收到数据
if(xmlhttp.status==200){ //这个时候就需要用到status属性,即由服务器返回的 HTTP 状态代码。 xmlhttp.status 等于200时表示传输过程完整没有错误
alert(xmlhttp.responseText);
}
}
}
注意:所以我们应该按照上面的流程来记忆:创建XMLHttpRequest 对象 -> 指定发送地址及发送方法 -> 指定状态变化处理方法 -> 发送请求,请求发送后状态变化了就会自动调用指定的处理方法。
相关推荐:
SEO外,如何提升网站整体营销效果?,文轩网络营销推广方案
SEO优化的话题:助力企业成功的关键,夏杰ai智能管家
ChatGPT无服务:如何突破限制,未来人工智能的新可能,ai绘制装饰画
SEO技巧提升网站流量和排名,助力企业快速崛起,ai080206.
SEO出超:如何通过精准优化实现网站流量大爆发,营销推广方式联系f火15星
内容创作新时代:自动生成文章的AI如何改变写作生态
SEO获取流量的必杀技:如何通过优化轻松提升网站排名,德州全网营销推广价格
如何查文章AI率?全面解析AI文章检测工具及技巧
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜
seo词库优化,搜索词条优化 ,ai点选择
seo需要买什么,seo需要考虑什么 ,ai做表头
OpenAI无法验证支付方式?解决方案与常见问题解析,你好月光ai
SEO字:如何通过精准关键词提升网站流量与排名,赣州于都网站推广
什么是seo的豆子,何为seo ,ai圆复制
什么是seo反连接,网站反链多好还是少好 ,网易ai产品
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
优化*:打造更加高效、创新的娱乐体验,石排网站建设制作多少钱
ChatGPT4网页空白:重新定义智能交互的未来,怎么登ai
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
ChatGPT为什么网址打不开?原因分析与解决方法,文档审核ai
ChatGPT-深度学习与自然语言处理的革命性突破,金华ai视觉锁螺丝机
WPJVX:开启数字化未来的智慧平台,关键词排名技术咨询乐云seo
SEO快速提升:让你的网站排名瞬间飙升的秘诀,网站建设的发展目标
什么是蜘蛛弛?揭秘这个SEO优化背后的神秘工具,南沙seo优化排名价格
SEO趋势:2025年搜索引擎优化的未来发展,河南省营销推广系统官网
文章AI生成:让创作变得更简单、更高效!
OpenAI银联支付-未来支付新体验,安全便捷全新升级,医学加ai
SEO超级,助力企业站点冲刺搜索引擎排名,白云全网营销推广哪家强
用AI写的文章算原创吗?真相揭示,带你深度思考!
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
seo渠道优化是什么,seo渠道推广怎么做 ,ai121333
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
AI智能时代的到来:如何利用人工智能推动生活与商业创新,ai相册下载
为什么“蜘蛛弛查询”能成为提升网站排名的秘密武器?,惠州网站推广v1戈seo24
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,金融网站推广维护
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
专业关键词助力SEO优化,让你的内容脱颖而出,东营响应式网站优化
什么是“神马关键词”?如何用它提升你的网络营销效果?,新闻发布网站怎么做推广
怎样使用AI写文章:释放创作潜能,提升写作效率
SEO优化需要花钱吗?从零起步,如何让SEO成为企业的“隐形财富”,字体如何往ai里面倒
seo给你什么帮助,seo的利与弊 ,ai 大厨
SEO针对中小企业的增长潜力:如何通过精准优化抢占市场先机,网络推广和营销就选y火10星评价
好用的人工智能AI软件推荐,让你的生活更智能!
ChatGPT为什么页面下拉不了?问题解析与解决方案,ai对准
seo要学什么语言,做seo需要什么语言 ,ai martino
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
怎么看文章是不是AI生成的?揭秘背后的玄机与技巧
什么是seo艺术,什么是seo seo有何价值 ,ai写作生成器 推荐
SEO表述:如何通过精准优化让你的内容脱颖而出,江阴网站建设怎么样啊