你是否發(fā)現(xiàn)項(xiàng)目中有很多頁面只用到了框架不到十分之一的內(nèi)容,還引了壓縮后還有70多kb的jquery庫
你是否發(fā)現(xiàn)項(xiàng)目中就用了兩三個(gè)underscore提供的方法,其他大部分的你方法你甚至從來沒有看過
你是否發(fā)現(xiàn)fetch好像比ajax好用那么一點(diǎn)
你是否想過自己封裝個(gè)ajax....
純前端寫得久了,便想折騰點(diǎn)事情。比如先定一個(gè)小目標(biāo),年前自己寫個(gè)類jquery輕量級(jí)庫....
那么就從自己封裝一個(gè)ajax切入吧,首先我整理的一個(gè)流程圖,一目了然
解析參數(shù)數(shù)據(jù)
通常我們的請(qǐng)求后面會(huì)有一些參數(shù),如果是get請(qǐng)求當(dāng)然可以直接通過'&'拼在url后面。那么post就需要做一下處理了,如果參數(shù)是字符串,則將字符串用‘&’符號(hào)切割轉(zhuǎn)化成鍵值對(duì)形式,同時(shí)用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];