使用
1. 在客戶端調用提供JSONP支持的URL Service,獲取JSONP格式數據。
比如客戶想訪問http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction
假設客戶期望返回JSON數據:["customername1","customername2"]
那么真正返回到客戶端的Script Tags: callbackFunction([“customername1","customername2"])
可能的調用方式:
2. 在客戶端寫callbackFunction函式的實現
3. 頁面展示
4. 最終Page Code
體現
JQuery下:
$.getJSON
1.$.getJSON
jsoncallback=?,其中 '? '會自動替換為function(data)函式。
2. $.ajax
如何在伺服器端實現對JSONP支持
這僅僅需要把服務的JSON數據轉換成想要的script tags的形式就可以了,格式可以自已定義,畢竟這是個非官方的協定。
可參考:Implement JSONP in your Asp.net Application
註:Callback僅僅是JSONP的簡單實現,可以根據具體需要實現更複雜的功能,比如可以在客戶端動態集成更多的變數數據來完成分頁功能。
Java:
return request.getParameter("jsonpcallback")+"("+JsonString+")";
返回內容像:jsonp1382016430883([{"id":1,"title":"XXXX"},{"id":2,"title":"YYYYY"}])