• XMLHttpRequest(简要学习笔记十九)


    3.XMLHttpRequest
    除了GET与POST之外,XMLHttpRequest规范也允许第一个参数为DELETE,HEAD,OPTIONS,PUT。
    如果有请求头的话,需要设置它。
    如:POST请求需要“Content-Type”头指定请求主题的MIME类型。
    request.setRequestHeader("Content-Type","text/plain");
     
     
    POST发送:

    4.为了在响应准备就绪得到通知,必须监听XMLHttpRequest对象上的readystatechange事件。
    readyState是一个整数,它指定了HTTP请求的状态。
     
     
     
    下面是一个异步响应。
     
     
     
    下面是一个同步响应:
     
     
     
    5.<script>元素可以发起跨域请求。而XMLHttpRequest API不可以。
    我们可以通过检查头文件类型来判断响应的数据类型。
    复制代码
    var type=request.getResponseHeader("Content-Type"); if(type.indexOf("xml")!==-1 && request.responseXML){     callback(request.responseXML);    //Document对象响应 }else if(type==="application/json"){      callback(JSON.parse(request.responseText));    //JSON响应 }
    复制代码
    6.multipart/form-data
    当HTML表单同事包含文件上传元素和其他元素时,浏览器不能使用普通的表单编码,
    必须使用“multipart/form-data”的特殊Content-Type来用POST方法提交表单。
     
     
    7.文件上传
    js:
    复制代码
    window.onload=function(){ var a=document.getElementById("dd"); a.addEventListener("change",function(){ alert(this.files)   //返回一个FileList     },false)  }
    复制代码

     
     
     
    8.HTTP进度事件
    HTTP请求超时,触发timeout事件
    HTTP请求中止,触发abort事件
    HTTP太多重定向的网络错误会阻止请求完成,触发error事件
     
    与progress事件相关的其他三个属性:
    loaded:目前传输的字节数值
    total:头传输的数据的整体长度
    lengthCopmputable:如果知道内容长度,为true
    例子:
    复制代码
    request.onprogress=function(e){     if(e.lengthCopmputable){         progress.innerHTML=Math.round(100*e.loaded/e.total)+"%完毕!";     } }
    复制代码
     
    9.CORS(跨域资源共享)
     
    10.使用EventSource创建简单聊天客户端
     
     
    后来都会美好的!
  • 相关阅读:
    linux
    day01-02
    测试基础
    cookie session
    多表表与表关系 增删改查 admin
    连接数据库 创建表 字段和参数 增删改查
    LeetCode OJ:Triangle(三角形)
    LeetCode OJ:Unique Paths II(唯一路径II)
    LeetCode OJ:Unique Paths(唯一路径)
    使用双栈实现一个队列
  • 原文地址:https://www.cnblogs.com/momox/p/5047173.html
Copyright © 2020-2023  润新知