jq的ajax和模块引擎
之前我們寫ajax都是用原生js寫的,但這樣寫有時(shí)候就顯得有點(diǎn)繁瑣,其實(shí)我們也可以用jq來(lái)寫,這樣更簡(jiǎn)單,但jq寫法跟原生的有點(diǎn)不一樣,他可以分為單個(gè)類型,和一個(gè)總的:
第一種是$.get:
第二種是$.post:
它的用法其實(shí)跟get是一樣的.
第三種是$.getJSON:
這個(gè)看上去比上面簡(jiǎn)單些,如果有json格式,會(huì)幫助我們自己轉(zhuǎn)化為js對(duì)象,這又減少我們代碼了,其實(shí)第四種功能更齊全
第四種是$.ajax:
它包括了上面的所有功能,它里面的參數(shù)可以設(shè)置很多,以上的是我們經(jīng)常用的,type不寫,默認(rèn)為get請(qǐng)求方式.
還有之前的ajax五步驟我們已經(jīng)用了封裝函數(shù),算簡(jiǎn)單的了,但其實(shí)還有更簡(jiǎn)單的方式,那就是用模塊引擎,沒(méi)會(huì)模塊引擎之前我們都是用自己封裝的函數(shù)來(lái)做,但有更好的方法,我們應(yīng)該學(xué)會(huì)更簡(jiǎn)便 的方式.
其實(shí)現(xiàn)在網(wǎng)上已經(jīng)有很多模塊引擎了我們直接調(diào)用就可以,但我們還是要了解下它的原理:
1:模塊引擎中有兩個(gè)參數(shù),一個(gè)書模塊字符串,一個(gè)是對(duì)象,
2:里面會(huì)用到正則表達(dá)式,其實(shí)它的原理就是利用正則表達(dá)式,來(lái)找到一個(gè)個(gè)要被替換掉的字符.
它的也是一個(gè)函數(shù),例如:
利用正則表達(dá)式查找模塊字符串中滿足條件文本,然后一個(gè)個(gè)替換掉就可以了:
這里我們用的是while,因?yàn)槲覀儾恢酪h(huán)幾次才能全部找到.里面的replaceSter找到是滿足整個(gè)正則表達(dá)式的條件的文本,也就是例子中的<name>等,key就是滿足正則表達(dá)式中小括號(hào)中的文本,也就是例子中的name.food這類.
本來(lái)拿對(duì)象屬性的值,我們之前一般都用obj.name之類的,但這里由于不知道要替換幾個(gè),要一直循環(huán),所以我們不能寫死,所以用obj[key]來(lái)取得.
這是基本原理,但我們一般不用自己寫,網(wǎng)上都是可以自己調(diào)用,調(diào)用也要注意一些步驟:
1:從網(wǎng)上下載js,然后導(dǎo)入進(jìn)去.
2:定義模板:
定義模板,我們要寫在script中,這樣就不會(huì)生成html頁(yè)面,但是type的text后面要改掉,不能寫成javascipt,這個(gè)是可以隨便取得的.
里面標(biāo)簽里如果使用的是對(duì)象的屬性,那寫法是:<%=key%>,表達(dá)式是用<%? %>這樣來(lái)寫,重要的一點(diǎn)是該模板支持對(duì)象,如果傳入數(shù)組就會(huì)報(bào)錯(cuò).
3:調(diào)用:
第一個(gè)參數(shù)就是模板的id,第二個(gè)就是對(duì)象.其實(shí)跟jq原理差不多,就是調(diào)用.
?
轉(zhuǎn)載于:https://www.cnblogs.com/cykblogs/p/5851314.html
總結(jié)
以上是生活随笔為你收集整理的jq的ajax和模块引擎的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微服务的一些资料
- 下一篇: iOS--SDAutolayout宽度自