前言
以前一直以為當(dāng)$.ajax()
的 dataType設(shè)置為jsonp時,其method(請求方法)無論怎么設(shè)置,都會變成get,直到前兩天遇到了一個坑。
下面來一起看看詳細(xì)的介紹:
關(guān)于跨域請求與jsonp
$.ajax
中jsonp,$.ajax
對jsonp進(jìn)行了封裝看起來像是ajax請求。由于jsonp是針對get請求的跨域解決,因此之前的經(jīng)驗告訴我,即使type設(shè)置了post,在jsonp的時候,也會自動轉(zhuǎn)換成get,直到有一天踩了個坑。翻看$.ajax模塊的源碼發(fā)現(xiàn),只有去手動設(shè)置crossDomain為true,或者實際上是跨域,才會設(shè)置為get。否則還是填入的type結(jié)論:
手動設(shè)置crossDomain為true,或者真的是跨域,才會修改type為GET,否則還是傳入的type參數(shù)
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。
新聞熱點
疑難解答