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