DIV CSS 佈局教程網

JSONP之我見
編輯:關於JavaScript     

JavaScript初學,一點自己的理解,有不當之處請大家指正~

JSONP:

本地html文件要獲取xxx網站(跨域)數據時使用的方法。

跨域問題:

外部服務器的數據只能用外部服務器中的js訪問,本地js無法用XMLHttpRequest()訪問。

外部服務器中的Web服務提供JSON數據,比如在http://gumball.wickedlysmart.com/中,數據包含在函數updateSales中作為參數,現在要在本地html中訪問外部服務器中的JSON數據該怎麼辦呢?

1, 查看Web服務文檔,明確服務實際使用的參數名(本例只有一個參數即一個對象數組);
2, 在url中指定一個回調函數,http://gumball.wickedlysmart.com/?callback=updateSales,用來指定Web服務中訪問JSON數據的函數名;
3, 在本地js文件中使用剛才定義的函數名創建函數updateSales(對象),編寫處理得到外部JSON數據的方法;
4, 在html文件中的<body>標簽下使用<script>標簽鏈接到外部Web服務,url為2中的那個路徑。

總結:

JSONP目的在於提供給本地html一個函數接口(本地html可通過在url後方加入?callback=functionName的方法指定函數名),為了確保數據訪問的安全,服務器將安全的數據放在回調函數的參數中,函數內部的參數就是服務器提供給本地的數據,至於怎麼使用這些數據就要在本地的js中定義這個callback函數了。

注意:本地使用JSONP請求訪問Web服務,可能會獲取不安全的Js代碼,所以要確保信任這個Web服務。

JSONP與XMLHttpRequest:

         XMLHttpRequest用於開發內部Web服務,內部訪問內部,同域訪問會更加簡便。

         訪問外部數據時(跨域訪問)就要使用JSONP。

以上所述就是本文的全部內容了,希望大家能夠喜歡,能夠對大家學習jsonp有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved