美文网首页
网易有道笔试,实现upload功能

网易有道笔试,实现upload功能

作者: 进击的前端 | 来源:发表于2016-08-18 22:06 被阅读56次

    基础知识 https://developer.mozilla.org/en-US/docs/AJAX
    upload(url,form,option)实现上传功能,
    url:String表示上传的目标地址
    form: HTMLFormElement 表单节点,待上传的文件
    option:有两个部分,onload,是一个函数,上传成功回调,输入是服务器返回的json数据,onerror表示上传失败的信息。

    调用方式
    upload("ddd",form,{onload:function(){},onerror:function(){})

    var upload = function(url,form,option){
      var xhr = XMLHttpRequest();
      xhr.onreadystatechange = function(){
       if(xhr.readyState == 4){
        if (httpRequest.status === 200) { 
         option.onload(JSON.parse(xhr.responseText)); 
        } 
        else { 
         option.onerror(xhr.status);
        }
      }
     }
      xhr.open("post",url,true);
      xhr.send(serialize(form));
    }
    

    uploadPromise("url",form).then(function(){},function(){})要返回promise

    function uploadPromise("url",form){
       return new Promise(function(resolve,reject){
          option = {
             "onload":function(result){
                  resolve(result);  
              },
             "onerror":function(error){
                  reject(error);
              }
          }
          var req = upload("url",form,option);
       });
    }
    

    相关文章

      网友评论

          本文标题:网易有道笔试,实现upload功能

          本文链接:https://www.haomeiwen.com/subject/jfzmsttx.html