你是否發(fā)現(xiàn)項目中有很多頁面只用到了框架不到十分之一的內(nèi)容,還引了壓縮后還有70多kb的jquery庫
你是否發(fā)現(xiàn)項目中就用了兩三個underscore提供的方法,其他大部分的你方法你甚至從來沒有看過
你是否發(fā)現(xiàn)fetch好像比ajax好用那么一點(diǎn)
你是否想過自己封裝個ajax....
純前端寫得久了,便想折騰點(diǎn)事情。比如先定一個小目標(biāo),年前自己寫個類jquery輕量級庫....
那么就從自己封裝一個ajax切入吧,首先我整理的一個流程圖,一目了然
解析參數(shù)數(shù)據(jù)
通常我們的請求后面會有一些參數(shù),如果是get請求當(dāng)然可以直接通過'&'拼在url后面。那么post就需要做一下處理了,如果參數(shù)是字符串,則將字符串用‘&’符號切割轉(zhuǎn)化成鍵值對形式,同時用encodeURIComponent轉(zhuǎn)碼,最后類似于jquery的處理,將/%20/g(空格)替換成'+'。
getData: function(){ var name, value; if (opts.data) { if (typeof opts.data === "string") { opts.data = opts.data.split("&"); for (var i = 0, len = opts.data.length; i < len; i++) { name = opts.data[i].split("=")[0];