JSONP通過 AJAX 跨域請求獲取JSON數據

JSON這種輕量級的數據交換格式,易于人閱讀和編寫,同時也易于機器解析和生成(網路傳輸速度快),所以在移動開發中應用特別廣範,以前我們講過PHP JSON數據的創建和解析程序代碼,現在我們來講講AJAX 跨域請求 - JSONP獲取JSON數據。

相關文章:PHP JSON數據的創建和解析程序代碼
JSONP(JSON with Padding)是一個非官方的協定,它允許在伺服器端集成Script tags返回至客戶端,通過javascript callback的形式實現跨域訪問(這僅僅是JSONP簡單的實現形式)。
客戶端html代碼:

代碼如下

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script type="text/javascript">
function jsonpCallback(result) {
//alert(result);
for(var i in result) {
alert(i+":"+result[i]);//循環輸出a:1,b:2,etc.
}
}
var JSONP=document.createElement("script");
JSONP.type="text/javascript";
JSONP.src="http://crossdomain.com/services.php?callback=jsonpCallback";
document.getElementsByTagName("head")[0].appendChild(JSONP);
</script>


服務端php代碼

代碼如下


<?php

//服務端返回JSON數據
$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
$result=json_encode($arr);
//echo $_GET['callback'].'("Hello,World!")';
//echo $_GET['callback']."($result)";
//動態執行回調函數
$callback=$_GET['callback'];
echo $callback."($result)";

?>

更多相關文章
  • 本文我們來學習asp.net在mvc模式下,通過ajax方式傳值到後台,然後返回json數據格式解析的實例教程.ajax介紹AJAX = 異步 JavaScript 和 XML.AJAX 是一種用于創建快速動態網頁的技術.通過在後台與伺服器進行少量數據交換,AJAX 可以使網頁實現異步更新.這意味著
  • Js中啓用CORS實現Ajax跨域請求
    CORS 允許一個域上的網路應用向另一個域提交跨域 AJAX 請求.實現此功能非常簡單,下
  • 一般情況下AJAX跨域是不能跨域實現的,我們要實現ajax跨域就得采取一些辦法.本文我們來看看在nginx添加add_header Access-Control*指令實現AJAX跨域請求.AJAX從一個域請求另一個域會有跨域的問題.那麽如何在nginx上實現ajax跨域請求呢?要在nginx上啓用跨 ...
  • 文章總結了關于Ajax POST方式發送請求伺服器接收不到數據問題解決辦法 有需要學習的朋友可參考本文章.直接看源碼 代碼如下 <script language="javascript"> function setViewPoint() { var msg =&quo ...
  • JSONP(JSON with Padding)是JSON的一種"使用模式",可用于解決主流浏覽器的跨域數據訪問的問題.現在我們來用JSONP解決Ajax跨域訪問問題.前幾天,工作上有一新需求,需要前端web頁面異步調用後台的Webservice方法返回信息.實現方法有多種,本例 ...
  • $.getJSON()是ajax一個異步傳輸的功能,下面小編來介紹利用jquery中的$.getJSON()實現跨域請求吧,希望此方法對各位同學會有所幫助哦.jQuery中常用getJSON來調用並獲取遠程的JSON字符串,將其轉換爲JSON對象,如果成功,則執行回調函數.原型如下:jQuery.g
  • CORS實現POST方式跨域請求數據以前利用iframe時有用到過了,這裏再整一個例子供各位參考,此例子是用于js的ajax中哦.CORS全名Cross-Origin Resource Sharing,顧名思義:跨域分享資源,這是W3C制定的跨站資源分享標准.目前包括IE10+.chrome.saf ...
  • 在我剛接觸js與php時發現那時跨域我們多半會使用json與xml來處理,現在在jquery中可以多一種接觸了,就是可以直接利用Jquery的getScript來跨域了,下面一起來看看吧.先來看看getScript()用法.getScript() 方法通過 HTTP GET 請求載入並執行 Java
一周排行