核心提示:最近招了两个前端,,都有两年的开发经验的了。进来就上手一个移动web的项目。在做图片上传的时候,就找了一大堆jquery的插件,这样的很不好呀。。其实移动端,完全可以自己很轻易搞掂文件上传,,Form...
最近招了两个前端,,都有两年的开发经验的了。进来就上手一个移动web的项目。在做图片上传的时候,就找了一大堆jquery的插件,这样的很不好呀。。其实移动端,完全可以自己很轻易搞掂文件上传,,FormData,,好东西,直接来东西
这是我自己封装的一个ajax,什么timeout,progress,,待完善
function xhr(url,success,data,method,async){ var options = options || {}; var method = method ? method.toLowerCase() : "get"; var url = url || ""; var success = success; if(async === undefined || async === ""){ async = true; } var data = data || null; var type = typeof data; //传入参数的类型 var sendData = ""; var isPost = !(data instanceof FormData) && method == "post"; //判断是否是纯文本post提交 if(data){ if(type == "string"){ //字符串 sendData = data; }else if(type == "object"){ if(data instanceof FormData){ sendData = data; }else{ for(var k in data){ var req = encodeURIComponent(k); var value = data[k]; var param = ""; if(Array.isArray(value)){ value.forEach(function(v){ param += (req + "=" + encodeURIComponent(v)); param += "&"; }) param.trim("&"); }else{ param = req + "=" + encodeURIComponent(data[k]); } if(sendData === ""){ sendData += param; }else{ sendData += ("&"+param); } } } } }
工作完成了99%。文件如何上传呢。。
<form id='form''> <input file='file'/> </forn> xhr("xxxxx.php",function(res){ },new FormData(document.querySelector('form')),"post");