JSONP是JSON with Padding的略稱。它是一個非官方的協議,它容許在服務器端集成Script tags返回至客戶端,經過javascript callback的形式實現跨域訪問(這僅僅是JSONP簡單的實現形式)。javascript
實現JSONP的javascript callback的形式php
//添加<script>標籤的方法 function addScriptTag(src){ var script = document.createElement('script'); script.setAttribute("type","text/javascript"); script.src = src; document.body.appendChild(script); } window.onload = function(){ //將自定義的回調函數名result傳入callback參數中 addScriptTag("localhost/bns-relation/index.php?r=BnsRelation/BnsOfProd&callback=result"); } //自定義的回調函數result function result(data) { //咱們就簡單的獲取數據 console.log(data); }
callback=?這個是正如其名錶示回調函數的名稱,也就是將你本身在客戶端定義的回調函數的函數名傳送給服務端,服務端則會返回以你定義的回調函數名的方法,將獲取的json數據傳入這個方法完成回調。java