javascript JSON 與 JSONP - stu80143/gitNote GitHub Wiki

JSON 與 JSONP

JSON

  • JSON是一種文本數據交換格式

JSONP

  • JSONP是一種專門為了跨域呼叫所使用的方法

JSONP產生的原因

  • 在使用數據交換時,最普遍的都是使用JSON格式, 但是JSON格式無法在javascript中被跨域呼叫, 但是在Web頁面上調用js文件則不受跨域所限制, 其實不只js文件,只要是標籤中含有src屬性的元件, 均不受跨域所影響
  • 因此當時的開發者就設計了,讓服務端產生動態的js文件即可, 這樣一來,調用者可以透過參數溝通服務端, 讓服務端回傳某段特定的js代碼,如此就可以取得調用者, 想要取得的資料

使用方法

詳細請參閱

另類使用

根據JSONP一開始設計的原理,也可以將呼叫的url直接放入

<script type="text/javascript" src="https://call/data/&callback=aa"></script>

然後在頁面直接做個aa函數

function aa(res){
      alert(res);
  }

如此也可以取得JSON資料,並不一定需要使用ajax來進行呼叫

⚠️ **GitHub.com Fallback** ⚠️