100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 如何使用原生js来实现Ajax

如何使用原生js来实现Ajax

时间:2019-08-17 05:16:09

相关推荐

如何使用原生js来实现Ajax

web前端|js教程

javascript,ajax

web前端-js教程

这篇文章主要介绍了关于如何使用原生js来实现Ajax,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

全景通源码下载,vscode调试如何看数组,vm ubuntu共享,tomcat日期如何屏蔽,湛江爬虫地带,自己写mvc php框架,杭州seo排名工具是什么,joomla 网站模板,关于我们 网页模板lzw

创建Ajax对象

食品 药品 监督 网站 源码 php,vscode 静默安装,怎么卸载虚拟机的ubuntu,tomcat的爆破,闪存中sqlite 测试,手机网站视频插件,web pc前端用什么框架,爬虫采购代理机构遴选,php 对象模式,卫浴seo技术,phpcms v9 网站数据迁移,手机网页直播视频,红包网页模板lzw

连接服务器

门户网站模板源码下载,vscode背景图片怎么设置,ubuntu删除组,笔记本tomcat很慢,爬虫箱着火,php购物分享网站,吉林信息流业务seo工资lzw

发送请求

- `send()`接受一个参数(作为请求主体发送的数据),如果没有数据则必须传入`null`,因为这个参数对有些浏览器来说是必须的。调用`send()`之后,请求就会被分配到服务器

接收返回

- 客户端和服务器端有交互的时候会调用`onreadystatechange` - oAjax.`readyState` **表示请求/响应过程的当前活动阶段**。 - 0->(未初始化):还没有调用 `open()` 方法。 - 1->(载入):已调用 `send()` 方法,正在发送请求。 - 2->载入完成):`send()` 方法完成,已收到全部响应内容。 - 3->(解析):正在解析响应内容。 - 4->(完成):响应内容解析完成,可以在客户端调用。 - `responseText`:作为响应主体被返回的文本; - `responseXML`:若响应的内容类型是`"text/xml"`或`"application/xml"`,该属性中将保存着包含着响应数据的`XML DOM`文档 - `status`:响应的`HTTP`状态; - `statusText`:`HTTP`状态的说明;

/** * 原生js实现Ajax * @param url * @param fnSucc */function ajax(url, fnSucc){ if(window.XMLHttpRequest){ var XHR = new XMLHTTPRequest(); }else{ var XHR = new ActiveXObject("Microsoft.XMLHTTP");//IE6浏览器创建ajax对象 } // readystate值每次改变,都会触发readystatechange事件 // 通常我们只对readstate值为4的阶段感兴趣 // 不过,必须在调用open()之前指定onreadystatechange事件处理程序,才能确保跨浏览器兼容性。 XHR.onreadystatechange = function(){ if(XHR.readyState == 4){ if(XHR.status >= 200 && XHR.status <= 300 || XHR.status == 304){fnSucc(XHR.responseText);//成功的时候调用这个方法 }else{if(fnFiled){ fnFiled(XHR.status);} } } } XHR.open("GET", url, true);//把要读取的参数的传过来, true:异步,false:同步 XHR.send(null);// send接受一个参数(作为请求主体发送的数据),如果没有数据则必须传入null,因为这个参数对有些浏览器来说是必须的。调用send()之后,请求就会被分配到服务器}

/** * 支持更早期IE版本 IE5+ * @returns {XMLHttpRequest} */function createXHR(){ if(typeof XMLHttpRequest != "undefined"){ return new XMLHttpRequest(); } else if(typeof ActiveXObject != "undefined"){ if(typeof arguments.callee.activeXString != "string"){ var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"],i, len = versions.length; for(i = 0; i < len; i++){new ActiveXObject(versions[i]);arguments.callee.activeXString = versions[i];berak; } } } else { throw new Error("No XHR object available.") }}

window.onload = function(){ var btn = document.getElementById("btn1"); btn.onclick = function(){ ajax(a.txt, function fnSucc(str){ alert(str) }); }}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。