let xmlHttp = new XMLHttpRequest();//创建发送请求的对象
    //这是为了兼容IE的获取ajac请求对象的方法
    // let getXmlHttpRequest = function () {
    //     if (window.XMLHttpRequest) {
    //         //主流浏览器提供了XMLHttpRequest对象
    //         return new XMLHttpRequest();
    //     }
    //     else if (window.ActiveXObject) {
    //         //低版本的IE浏览器没有提供XMLHttpRequest对象
    //         //所以必须使用IE浏览器的特定实现ActiveXObject
    //         return new ActiveXObject("Microsoft.XMLHTTP");
    //     }
    // };
    xmlHttp.open('GET','https://www.baidu.com');//设置请求的地址和方法
    xmlHttp.send();//发送请求
    //xmlHttp请求的状态有五种0,1,2,3,4。所以这个状态改变的回调函数会执行四次,即0变为1、1变为2、2变为3、3变为4
    //当var xmlHttp = new XMLHttpRequest();这句执行完后,xmlHttp.readyState为0,表示对象存在
    //调用open方法根据参数完成对象设置,并调用send方法发送请求,这时候xmlHttp.readyState为1,表示正在向服务端发送请求
    //当send方法执行完成后,接收完全部的返回数据,xmlHttp.readyState为2
    //接收完数据后进行解析,根据服务器端响应头部返回的MIME类型把数据转换成能通过responseBody、responseText或responseXML属性存取的格式,这时候xmlHttp.readyState为3
    //响应内容解析完成,可以在客户端调用了,xmlHttp.readyState为4
    xmlHttp.onreadystatechange=()=>{//当请求的状态发生改变的时候调用回调函数
        //我们只看请求完成后的情况,因为就算请求失败了,它最终的状态也会变为4,比如请求一个不存在的网页
        if(xmlHttp.readyState==4){
            console.log('请求流程执行完了...');
            //console.log(xmlHttp.status);
            //请求的过程走完之后我们还需要通过判断请求的状态码xmlHttp.status来看请求是否成功,常用的状态码和含义
            //200:请求成功(后台处理结果ok)、303:重定向
            //400:请求错误、401:未授权、403:禁止访问、404:文件未找到
            //500:服务器错误
            if(xmlHttp.status==200){
                let response = xmlHttp.responseText;//获取响应的内容,以文本的方式
                console.log('请求成功');
            }else{
                console.log(`请求失败:${xmlHttp.status}`);
            }
        }
    };

JSAJAX请求的更多相关文章

  1. Zepto.js-Ajax 请求

    Ajax 请求 执行Ajax请求.它可以是本地资源,或者通过支持HTTP access control的浏览器 或者通过 JSONP来实现跨域. 引入Ajax模块 <script src=&qu ...

  2. js--Ajax的小知识(二):处理ajax的session过期的请求

    问题的产生: 现如今Ajax在Web项目中应用广泛,几乎可以说无处不在. 有时会碰到这样个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax ...

  3. python——django的post请求

    两次被同一块石头绊倒简直不可原谅!第一次写django程序的时候,就因为ajax post请求折腾了整整一天,时隔两个多月昨天又被虐一整晚.叔可忍婶儿也不能忍了!!!重要的事情写下来,为以后轻松碾压p ...

  4. jquery和原生js-ajax

    form表单 $('#submit').click(function(){ $('#form').serialize(); //会根据input里面的name,把数据序列化成字符串:eg:name=y ...

  5. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  6. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  7. 重温Http协议--请求报文和响应报文

    http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...

  8. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  9. nodejs之get/post请求的几种方式

    最近一段时间在学习前端向服务器发送数据和请求数据,下面总结了一下向服务器发送请求用get和post的几种不同请求方式: 1.用form表单的方法:(1)get方法 前端代码: <form act ...

随机推荐

  1. windows重建ESP分区修复引导

    开始 装在虚拟机里面的win7实在是太卡了,所以准备把虚拟磁盘文件复制到固态硬盘,,,但是,,, 我只有128GB固态... 那就只能卸载之前通宵装的linux 好气 首先需要装进入PE UEFI + ...

  2. html中多选框变单选框

    就是一个小js,直接上代码 $("input[name='checkboxlist']").each(function () { if (this.checked &&am ...

  3. ubuntu19.04 安装mysql,没有初始密码,重设初始密码

    1.安装 在终端下输入 sudo apt-get install mysql-server mysql-client 进行安装,如果安装过程中弹出密码输入提示,则正常安装即可! 2.由于没有出现密码设 ...

  4. jquery-validation.js验证插件使用详解

    jquery-validation 使用 一.用前必备 官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: ...

  5. 如何查看mac多少位的操作系统?

    1.点击工具栏左上角点击 (苹果Logo)标志,关于本机  -->  更多信息 --> 系统报告  -->(左侧栏中)软件 (有的电脑是没有的例如第一张图) 2. 输入命令 una ...

  6. Docker常用命令及脚本

    1.常用命令 docker          search centos                                #搜索镜像              pull centos   ...

  7. centos源码安装git最新版

    到 git官网下载git 源码安装包,git官网地址:https://www.git-scm.com/ 选择Tarballs系列的安装包,官网git下载:https://mirrors.edge.ke ...

  8. Sliding Window POJ - 2823 单调队列模板题

    Sliding Window POJ - 2823 单调队列模板题 题意 给出一个数列 并且给出一个数m 问每个连续的m中的最小\最大值是多少,并输出 思路 使用单调队列来写,拿最小值来举例 要求区间 ...

  9. 【做题笔记】UVA11988破损的键盘

    本题可以在洛谷评测,但需要绑定账号 首先解释一下:Home键的作用是把光标移动,End键的作用是返回上次按Home键的地方 考虑朴素做法:输入为[时下一次插入在数组最前端,然后元素整体向后:同时令 l ...

  10. Jarvis OJ - 爬楼梯 -Writeup

    Jarvis OJ - 爬楼梯 -Writeup 本来是想逆一下算法的,后来在学长的指导下发现可以直接修改关键函数,这个题做完有种四两拨千斤的感觉,记录在这里 转载请标明出处:http://www.c ...