原生的AJAX写法,可以直接复制过来套用

方法一:

function createXMLHTTPRequest() {
                //1.创建XMLHttpRequest对象
                //这是XMLHttpReuquest对象无部使用中最复杂的一步
                //需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码
                var xmlHttpRequest;
                if (window.XMLHttpRequest) {
                    //针对FireFox,Mozillar,Opera,Safari,IE7,IE8
                    xmlHttpRequest = new XMLHttpRequest();
                    //针对某些特定版本的mozillar浏览器的BUG进行修正
                    if (xmlHttpRequest.overrideMimeType) {
                        xmlHttpRequest.overrideMimeType("text/xml");
                    }
                } else if (window.ActiveXObject) {
                    //针对IE6,IE5.5,IE5
                    //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js的数组中
                    //排在前面的版本较新
                    var activexName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
                    for (var i = 0; i < activexName.length; i++) {
                        try {
                            //取出一个控件名进行创建,如果创建成功就终止循环
                            //如果创建失败,回抛出异常,然后可以继续循环,继续尝试创建
                            xmlHttpRequest = new ActiveXObject(activexName[i]);
                            if (xmlHttpRequest) {
                                break;
                            }
                        } catch (e) {
                        }
                    }
                }
                return xmlHttpRequest;
            }

//post方法
            function post() {
                //创建AJAX原生环境后用变量接收
                var req = createXMLHTTPRequest();
                if (req) {
                    //传参方式,url,是否异步(asyn)
                    req.open("POST", "webAjax.ashx", true);
                    //post必须设置这个类型
                    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    //必须带这个传参,就算你要调用的方法不带参数,不管是get还是post有参传参,没参传空
                    req.send("");
                    //回调函数,当 readyState 等于 4 且状态为 200 时,表示响应已就绪,可以做数据操作了
                    req.onreadystatechange = function () {
                        if (req.readyState == 4) {
                            if (req.status == 200) {
                                //req.responseText可以返回后台的返回内容
                                alert("success");
                            } else {
                                alert("error");
                            }
                        }

                    }
                }
            }

//get方法
            function get() {
                var req = createXMLHTTPRequest();
                if (req) {
                    req.open("GET", "AJAXTest.aspx", true);
                    req.onreadystatechange = function () {
                        if (req.readyState == 4) {
                            if (req.status == 200) {
                                alert(req.responseText);
                            } else {
                                alert("error");
                            }
                        }
                    }
                    req.send(null);
                }
            }

方法二:

 //以get方法为例
            var xmlhttp;
            function loadXMLDoc(url, cfunc) {
                //创建环境
                if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                }
                else {// code for IE6, IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                //创建回调函数
                xmlhttp.onreadystatechange = cfunc;
                //get方式发送数据
                xmlhttp.open("GET", url, true);
                xmlhttp.send();
            }
            function myFunction() {
                //调用上述的AJAX方法,传入url和回调函数的实现方法(响应就绪时会执行)
                loadXMLDoc("/ajax/test1.txt", function () {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
                    }
                });
            }
时间: 2024-11-07 03:52:09

原生的AJAX写法,可以直接复制过来套用的相关文章

Ajax_原生ajax写法、理解异步请求、js单线程+事件队列、封装原生ajax

1.原生Ajax 一定要理解Ajax出现的背景 Ajax通过url查询后端接口的数据,在前端做数据的解析和局部更新 1.隐藏帧iframe方式实现页面局部更新---只是为了比较好的用户体验 访问后台接口数据显示在iframe页面中显示,没有做主页面的刷新,但页面实际上也刷新了  看左上角的转圈圈了 2.Ajax异步请求,真正实现页面局部刷新,没有跳转,坐上角小圈圈没转 原生Ajax写法---注意ajax的缩写 3.服务器放回了xml数据格式 解析过程还是很麻烦的,所以这种数据格式很少用了. 4.

js原生实现ajax

今天来总结一下javascript原生实现ajax数据请求. 一:什么是AJAX: 二:AJAX有什么优势: 二:AJAX的工作原理: 三:AJAX的用途: 一:什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面. 关键词

jQuery的ajax和原生的ajax方法

jQuery的ajax方法: $.ajax({ url:'/comm/test1.php', type:'POST', //GET async:true, //或false,是否异步 data:{ name:'yang',age:25 }, timeout:5000, //超时时间 dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text beforeSend:function(xhr){ console.log(xhr) consol

比较完整的原始ajax写法

originalityAjax.html代码如下: Html代码   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>最原始的ajax写法</title> <meta http-equiv="keywords" content="keyword1,keyword2,key

原生ajax写法 (ajax状态值)

1.ie5 .6 使用ActiveX (window.ActiveXObject) 版本:  MSXML2.XmlHttp.6.0 MSXML2.XmlHttp.3.0 2.其他主流浏览器: 内置构造函数 (window.XMLHttpRequest) 创建适用于所有浏览器的对象 function createXmlHttpRequest()      {           if(window.XMLHttpRequest)           {                var oHt

原生Ajax写法

//创建XMLHttp对象 function CreateXmlHttp() { //非IE浏览器创建XmlHttpRequest对象 if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else { return null; } //IE浏览器创建XmlHttpRequest对象 if (window.ActiveXObject) { try { return new ActiveXObject("Microsoft.XMLH

原生实现ajax解析--XMLHttpRequest

ajax基础: Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求. 如果仔细观察一个Form的提交,你就会发现,一旦用户点击“Submit”按钮,表单开始提交,浏览器就会刷新页面,然后在新页面里告诉你操作是成功了还是失败了.如果不幸由于网络太慢或者其他原因,就会得到一个404页面.一次HTTP请求对应一个页面. 如果要让用户留在当前页面中,同时发出新的HTTP请求,就必须用JavaScript发送这个新请求,接收到数据后,再用Java

常用原生JS兼容写法

在我们前端开发中,经常会遇到兼容性的问题,因为要考虑用户会使用不同的浏览器来访问你的页面,你要保证你做的网页在任何一个浏览器中都能正常的运行,下面我就举几个常用原生JS的兼容写法: 1:添加事件方法 addHandler:function(element,type,handler){  if(element.addEventListener){//检测是否为DOM2级方法   element.addEventListener(type, handler, false);  }else if (e

原生的Ajax的实现

<script type="text/javascript"> // Ajax固定的模版 // 第一步:创建xhr对象,使用new关键字来调用内置的构造函数  var xhr = new XMLHttpRequest(); // 第二步:指定接收回来的内容.监听xhr // 对象的onreadystatechange事件,这个事件xhr对象的"就绪状态"改变的时候触发.我们只关心就绪状态为4的时候的事情: xhr.onreadystatechange =