JSONP是什么呢?它是一種利用JSON格式進行數據交互的技術。
在AJAX請求中,由于瀏覽器的同源策略,只允許向同一域名下的服務器發起請求,而無法向其他域名下的服務器發出請求。JSONP則是一種繞過這種限制的方法。
JSONP通過動態插入<script>標簽的方式,從其他域名下的服務器獲取數據。
$.ajax({ url: "http://example.com/data.jsonp", dataType: "jsonp", jsonpCallback: "callback", success: function(data) { console.log(data); } });
在上面的例子中,我們通過設置dataType為"jsonp",并且指定jsonpCallback的名字為"callback",告訴服務器返回的數據格式和回調函數的名字。服務器返回的數據格式為:
callback({ "name": "John", "age": 30 });
這樣,瀏覽器就會自動執行名為"callback"的回調函數,并將返回的數據作為參數傳入。這也就使得我們能夠跨域獲取數據,從而實現數據的共享和交互。