Ajax_ajax請求中的跨域問題---瀏覽器不允許ajax跨域獲取服務器數據,那我們就用jsonp來實現跨域


1、認識跨域---跨域獲取數據是客觀存在的

  實際開發中跨域下還要獲取服務端數據這種需求也是很常見的, 因為資源(即使是同一項目,不同子模塊)也可能部署在不同的設備上(服務器,不同設備有不同域名或IP地址)。

  

  比如:域名為a的文件通過ajax請求想訪問域名為b下的文件---此時發生了跨域請求,瀏覽器不允許ajax跨域獲取服務器數據

    

    

    

    

 2、跨域的解決方式

  

  a、jsonp(jquery中提供了jsonp來解決跨域問題)---主流解決方案(開發接口比較簡單,沒有兼容性問題)

     

   b、jsonp原理---jsonp致命問題  :只支持get請求(所以最后一般是后台通過技術解決跨域請求問題)

    

    

    

    

    靜態的不常用,了解就行,一般用動態創建標簽的形式

    

    

    

    -------------------------------------------------------------------------------------------------------------------

    

    

    jsonp的本質並不是Ajax,而是。。。

    

  c、jquery封裝好了jsonp跨域獲取數據

    

    

    

 

    

    

    

    若后端不叫callback,那前端可以自定義名稱,jquery里面寫的很靈活(前端迎合后端)

    

       

   c、jsonp應用場景

    

    典型的jsonp接口:標准的第3方接口

     

    用jquery封裝好的jsonp調第3方接口(jsonp接口)查數據

    

    

    接口: 后台返回的是數據而不是完整的頁面,此時的url就可以說是接口作用,接口類型可按后台返回數據類型類型來分,比如jsonp接口  json格式接口 等

    以下這個網站的接口一般都是json接口,數據都是給后台語言用的,前台想拿到這種json格式數據一般找后台給包裝下,再返回給前台使用。

   

     

 

 

     

 

 

    

   

   

   

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM