json
json是類似于javascript對(duì)象的一種數(shù)據(jù)格式;
json格式的數(shù)據(jù):
{"name":'tom',
"age":18}
json數(shù)據(jù)格式的屬性名稱需要用雙引號(hào)引起來,用單引號(hào)或者不用引號(hào)會(huì)導(dǎo)致讀取數(shù)據(jù)錯(cuò)誤昭齐。
json的另外一個(gè)數(shù)據(jù)格式是數(shù)組;
例如:['tom',18,'programmer'] ;
中括號(hào)是對(duì)象,大括號(hào)是數(shù)組低缩;
對(duì)象和數(shù)組都是可以相互嵌套的;
info : 信息;
ajax
ajax技術(shù)的原理是實(shí)例化蕉毯;
使用此對(duì)象與后臺(tái)通信蹦疑。ajax通信的過程不會(huì)影響后續(xù)javascript的執(zhí)行西雀,從而實(shí)現(xiàn)異步;
ajax可以實(shí)現(xiàn)局部刷新歉摧,也叫做無刷新艇肴,無刷新指的是整個(gè)頁面不刷新,只是局部刷新叁温,ajax可以自己發(fā)送http請(qǐng)求再悼;
$.ajax使用方法
常用參數(shù):
1、url 請(qǐng)求地址
2膝但、type 請(qǐng)求方式冲九,默認(rèn)是'GET',常用的還有'POST'
3跟束、dataType 設(shè)置返回的數(shù)據(jù)格式莺奸,常用的是'json'格式,也可以設(shè)置為'html'
4冀宴、data 設(shè)置發(fā)送給服務(wù)器的數(shù)據(jù)
5灭贷、success 設(shè)置請(qǐng)求成功后的回調(diào)函數(shù)
6、error 設(shè)置請(qǐng)求失敗后的回調(diào)函數(shù)
7花鹅、async 設(shè)置是否異步氧腰,默認(rèn)值是'true',表示異步刨肃;
ajax,是前端與后臺(tái)連接的地方古拴;
表單文件中g(shù)et與post的區(qū)別?
get
URL 改變真友,在URL 里顯示 HTML Form 參數(shù)的 name/value 值黄痪。
只適合有少量參數(shù)的 HTML Form,因?yàn)?URL 長(zhǎng)度有字符限制盔然,不能無限長(zhǎng)桅打。
涉及安全性的信息,比如用戶密碼愈案,不能用 get挺尾,因?yàn)闀?huì)在 URL 上顯示,不安全站绪。
post
URL 不改變遭铺,不在 URL 里顯示 HTML Form 的數(shù)據(jù)。
Form 提交的信息沒有長(zhǎng)度限制。
涉及安全性的信息魂挂,如用戶密碼甫题,應(yīng)采用 post 方式。
jsonp
ajax只能請(qǐng)求同一個(gè)域下的數(shù)據(jù)或資源涂召,有時(shí)候需要跨域請(qǐng)求數(shù)據(jù)坠非,就需要用到j(luò)sonp技術(shù),jsonp可以跨域請(qǐng)求數(shù)據(jù)果正,它的原理主要是利用了script標(biāo)簽可以跨域鏈接資源的特性炎码。
頁面上定義一個(gè)函數(shù),引用一個(gè)外部js文件秋泳,外部js文件的地址可以是不同域的地址辅肾,外部js文件;
例如:aa({"name":"tom","age":18});
外部js文件調(diào)用頁面上定義的函數(shù)轮锥,通過參數(shù)把數(shù)據(jù)傳進(jìn)去。
正則表達(dá)式
什么是正則表達(dá)式要尔?
字符串匹配規(guī)則舍杜;
正則表達(dá)式的寫法:
1.var re=new RegExp('規(guī)則', '可選參數(shù)'); 面向?qū)ο蟮姆椒ǎ?br>
2.var re=/規(guī)則/參數(shù);
規(guī)則中的字符
1普通字符匹配:
例如:/a/ 匹配字符 ‘a(chǎn)’,/a,b/ 匹配字符 ‘a(chǎn),b’
2.轉(zhuǎn)義字符匹配:
\d 匹配一個(gè)數(shù)字赵辕,即0-9
\D 匹配一個(gè)非數(shù)字既绩,即除了0-9
\w 匹配一個(gè)單詞字符(字母、數(shù)字还惠、下劃線)
\W 匹配任何非單詞字符饲握。等價(jià)于[^A-Za-z0-9_]
\s 匹配一個(gè)空白符
\S 匹配一個(gè)非空白符
\b 匹配單詞邊界
\B 匹配非單詞邊界
. 匹配一個(gè)任意字符,除了換行符‘\n’和回車符‘\r’
\1 重復(fù)子項(xiàng);
正則匹配的是字符串用的蚕键; 字符串里有一個(gè)都返回true;
任意一個(gè)或者范圍
1.[abc123] : 匹配‘a(chǎn)bc123’中的任意一個(gè)字符;
2.[a-z0-9] : 匹配a到z或者0到9中的任意一個(gè)字符;
限制開頭結(jié)尾
1.^ 以緊挨的元素開頭;
2.的含義搂漠,使它們分別在任意一行對(duì)待行首和行尾匹配迂卢,而
不僅僅在整個(gè)字符串的開頭和結(jié)尾匹配);
常用函數(shù)
1、test 用法:正則.test(字符串) 匹配成功冷守,就返回真刀崖,否則就返回假;
2拍摇、search 用法:字符串.search(正則) 匹配成功亮钦,返回位置,否則返回-1充活;(相當(dāng)于indexof 索引)
3蜂莉、match 用法: 字符串.match(正則);匹配成功混卵,就返回匹配成功的數(shù)組映穗,否則就返回null;
4幕随、replace 用法:字符串.replace(正則蚁滋,新的字符串) 匹配成功的字符去替換新的字符(替換函數(shù));