事實(shí)上,面試時(shí)我喜歡問(wèn)跨域,因?yàn)槎鄶?shù)開(kāi)發(fā)者都知道它并且常用,而我希望能從面試者的回答中知道他在這個(gè)問(wèn)題的深入程度,進(jìn)一步看看面試者研究問(wèn)題的思維方式及鉆研精神,然而確實(shí)難到了很多人,當(dāng)然這也不是面試通過(guò)的必要條件;這些都是題外話(huà)了,呵呵~~~,這里也不炒冷飯如何實(shí)現(xiàn)跨域,也不是分析CORS的原理,因?yàn)楣雀枰幌戮陀泻芏鄥⒖假Y料。
有三點(diǎn)內(nèi)容:dataType、contentType、withCredential;既然說(shuō)是CORS基礎(chǔ)要點(diǎn),這三點(diǎn)也當(dāng)然是圍繞著 CORS 來(lái)講。
dataType
dataType有些人可能會(huì)覺(jué)得陌生,但說(shuō)起jquery或者是zepto的ajax請(qǐng)求,就想起來(lái)了,使用$.ajax請(qǐng)求時(shí),經(jīng)常會(huì)帶上參數(shù)dataType : 'json',如下圖:
dataType屬性是為了表明用什么格式解析服務(wù)端響應(yīng)的數(shù)據(jù),json表示ajax接收服務(wù)端響應(yīng)的數(shù)據(jù)時(shí)解析為JSON格式,但是你會(huì)發(fā)現(xiàn)有時(shí)候即使不設(shè)置dataType,也能夠正常解析響應(yīng)數(shù)據(jù),頁(yè)面上該顯示的內(nèi)容依然可以正常顯示,因?yàn)榭蚣苜N心,zepto在你不設(shè)置dataType的時(shí)候,默認(rèn)讀取服務(wù)端的響應(yīng)頭Content-Type,例如zepto把服務(wù)端的響應(yīng)頭ContentType : application/json轉(zhuǎn)換成dataType : 'json',所以只要跟服