交互那些事(二)

說(shuō)完ajax我想必須說(shuō)說(shuō)jsonp了,談到j(luò)sonp就必須先說(shuō)說(shuō)跨域,首先ajax是不能跨域的,除非后臺(tái)允許跨域或者訪問(wèn)統(tǒng)一域名下的php或者后臺(tái)文件路徑,讓后臺(tái)自己去跨域


不知道大家注意研究過(guò)跨域沒有,眾所周知我們?cè)谝雸D片或者iframe又或者js文件時(shí),它是可以直接請(qǐng)求網(wǎng)上的資源用來(lái)本地的,然后jsonp呢其實(shí)按我的理解就像下圖一樣

我的第一個(gè)script標(biāo)簽里面定義了一個(gè)一個(gè)名為ljf的函數(shù),然后動(dòng)態(tài)創(chuàng)建了一個(gè)script標(biāo)簽并且url為我jsonp的請(qǐng)求地址,參數(shù)則為我回調(diào)函數(shù)的名字,而后臺(tái)在接收到這個(gè)信息后,會(huì)將數(shù)據(jù)作為回調(diào)函數(shù)的參數(shù)并且在后臺(tái)生成一個(gè)js文件,而我前端頁(yè)面生成script的路徑正指向后臺(tái)的js文件,就像圖中所示會(huì)將ljf這個(gè)函數(shù)運(yùn)行

這就是一個(gè)很典型的jsonp跨域,網(wǎng)上有好多這種小例子,大家喜歡的可以自行百度,jsonp很簡(jiǎn)單只需要真正精通它的原理那他其實(shí)就不怎么難了,像ajax這種東西是官方提供的,但jsonp這種東西真的就是無(wú)數(shù)程序員總結(jié)出來(lái)的,讓咱們大家一起努力吧

其實(shí)交互的方式還有很多種,jsonp和ajax只是其中的一小部分,比如fetch或者websokect或者form表單等等等等,我只是給大家介紹了常用的倆種,剩下的等我有機(jī)會(huì)再說(shuō)吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容