• 原生ajax写法


    ajax1.0,ie9及以下,ie10+支持ajax2.0

    ajax2.0比ajax1.0:

    1.多了FormData对象,xhr.send(formData)  //不能用GET

    2.文件上传,文件上传进度 //把<input type="file" />对象set入formData,xhr.upload.onprogress=ev=>{ev.loaded/evtotal}

    3.CORS跨域双验证 // 请求头多了ORIGIN,响应头带上"Access-Control-Allow-Origin"

    1.0写法,分四步:

    1.创建xhr对象

    let xhr = new XMLHttpRequest();

    2. 设置超时时间(毫秒)

    // 2s超时
    xhr.timeout = 2000;

    3.建立连接

    // 方法 URL 是否异步
    xhr.open('GET','http://www.qq.com',true);

    4.设置http头

    //可以设置某些http头信息
    xhr.setRequestHeader('Expires', 'Mon, 20 Jul 2029 23:00:00 GMT')
    //甚至是一些自定义的头部
    xhr.setRequestHeader('amie', 'xxxxxxx')
    //但是诸如User-Agent、Referer浏览器是禁止设置的

    5.发送请求

    //send可以send任意数据类型
    xhr.send('内容');

    6.接收响应

    xhr.onreadystatechange= ()=>{
         if(xhr.readyState == 4){
            //请求完成了
            if((xhr.status>=200&&xhr.status<300)||xhr.status==304){
                //请求成功了,拿到返回的数据
                var data = xhr.responseText;
            }          
        }
    }

     7.超时和错误事件

    xhr.ontimeout = xhr.onerror = err => {
        this.$fui.popup({
            message: '连通性测试失败',
            type: 'error',
        });
        this.loading = false;
    };
  • 相关阅读:
    srum.3
    进程调度
    Scrum 项目——1
    《构建之法》—第6-7章
    团队合作——2
    团队合作——1
    作业调度_3
    作业调度——实验2
    典型用户
    【软件工程】做汉堡包
  • 原文地址:https://www.cnblogs.com/amiezhang/p/7831209.html
Copyright © 2020-2023  润新知