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. pl/sql developer试用期结束

    (产品代码)Product Code:ljkfuhjpccxt8xq2re37n97595ldmv9kch (序列号)Serial Number:302967 (口令)Password:xs374ca ...

  2. git的分支

    git branch : git branch  -r  #查看远程分支 git branch -a  #查看本地分支和远程分支 git branch  -v  #查看本地库的所有分支 git  br ...

  3. js中进入页面后刷新一次,且只刷新一次

    让页面进行刷新,可以使用location.reload()方法,但是这种方法会让页面一直不断的刷新,这是因为当页面加载完成以后,我们让它刷新一次,那么浏览器就会重新向服务器请求数据,界面会重新加载,然 ...

  4. C++-怎样写程序(面向对象)

    使用编程语言写好程序是有技巧的. 主要编程技术: 1. 编程风格 2. 算法 3. 数据结构 4. 设计模式 5. 开发方法 编程风格指的是编程的细节,比如变量名的选择方法.函数的写法等. 算法是解决 ...

  5. 函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。

    1 char *match( char *s, char ch1, char ch2 ){ ; ; ; while(s[len]){ len++; } *len+];//防止s字符串全满导致t溢出 * ...

  6. MVC5+EF6 入门完整教程1 :从0开始

    https://www.cnblogs.com/miro/p/4030622.html 第0课 从0开始 ASP.NET MVC开发模式和传统的WebForm开发模式相比,增加了很多"约定& ...

  7. Apache Kafka(七)- Kafka ElasticSearch Comsumer

    Kafka ElasticSearch Consumer 对于Kafka Consumer,我们会写一个例子用于消费Kafka 数据传输到ElasticSearch. 1. 构造ElasticSear ...

  8. 深浅拷贝_python

    一.浅拷贝 拷贝第一层的东西,如其他列表修改他们共同的第二层(或更深),他管不了,只能跟着变. 用处:很少用,用不同账号关联共享: import copyhusband= ['chen','123', ...

  9. 发送数据给sap和接收

    1.确保已经连通sap 2.发送数据:这是以表的形式发送,而且是批量发送给sap 3.接收sap返回信息:这个比较特别,碰到时试一试 package com.yiyezhiqiu.lyh.utils; ...

  10. 调用百度地图api隐藏版权信息

    调用百度地图API隐藏右下角版权信息 商用的话建议不要隐藏,避免侵权. 隐藏前: 隐藏后: .BMap_cpyCtrl { display: none; } .anchorBL { display: ...