jQuery之ajax的跨域获取数据
生活随笔
收集整理的這篇文章主要介紹了
jQuery之ajax的跨域获取数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果獲取的數據文件存放在遠程服務器上(域名不同,也就是跨域獲取數據),則需要使用jsonp類型。使用這種類型的話,會創建一個查詢字符串參數 callback=? ,這個參數會加在請求的URL后面。服務器端應當在JSON數據前加上回調函數名,以便完成一個有效的JSONP請求。意思就是遠程服務端需要對返回的數據做下處理,根據客戶端提交的callback的參數,返回一個callback(json)的數據,而客戶端將會用script的方式處理返回數據,來對json數據做處理。JQuery.getJSON也同樣支持jsonp的數據方式調用。下面演示關于jQuery處理跨域請求ajax的方式:
服務器端(PHP為例):
<?php $data = array('name'=>' 張三','age'=>22,'city'=>'newYork'); sleep(3); //人為設置一個等待(用于觀察什么是ajax的同步與異步) responseAJAX($data); //響應請求返回數據/*** 返回處理后的ajax請求數據* @author martinzhang* @param $data 待返回的數據* @return none*/ function responseAJAX($data){ $data = json_encode($data);$getCallBackName = $_REQUEST['callback']; //獲取callback調用的function函數名if($getCallBackName != ''){//使用了jsonp跨域請求$data = $getCallBackName.'('.$data.')'; //返回格式形如:callbackFunName({"name":" \u5f20\u4e09","age":22,"city":"newYork"})die($data);}else{//未跨域die($data);} }
客戶端:
?
?
?
轉載于:https://www.cnblogs.com/martinzhang/p/3459706.html
總結
以上是生活随笔為你收集整理的jQuery之ajax的跨域获取数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php varbinary,php –
- 下一篇: 图片圆角