首先動態添加一個script標簽,script標簽里的src是沒有跨域限制的
在客戶端腳本中注冊一個回調函數,然后把回調函數的名字傳遞給服務器,服務端得到請求的數據后,用回調函數把輸出返回的內容包起來,這樣,服務器生成的json數據就能被客戶端正確接受
然后以js語法的方式,生成一個function,function的名字就是傳遞上來的參數callback方法的名字
最后將json數據直接以入參的方式,放置到function中,這樣就生成了一段js語法的文檔,返回給客戶端
function jsonpCallback(result) {
alert(result.msg);
}
其中jsonCallback是客戶端注冊的,獲取跨域服務器上的JSON數據后,回調的函數。http://crossdomain.com/jsonServerResponse?jsonp=jsonpCallback 這個url是跨域服務器取JSON數據的接口,參數為回調函數的名字,返回的格式為: jsonpCallback({msg:'this is jsondata'}) 。如此就生成了一段js語法的文檔, 傳回客戶端就可以調用jsonpCallBack函數了.