ajax與jsonp比較:

1忠荞、ajax和jsonp這兩種技術在調用方式上“看起來”很像,目的也一樣月匣,都是請求一個url钻洒,然后把服務器返回的數(shù)據(jù)進行處理,因此jquery和ext等框架都把jsonp作為ajax的一種形式進行了封裝锄开;

2素标、但ajax和jsonp其實本質上是不同的東西。ajax的核心是通過XmlHttpRequest獲取非本頁內容萍悴,而jsonp的核心則是動態(tài)添加標簽來調用服務器提供的js腳本头遭。

3、所以說癣诱,其實ajax與jsonp的區(qū)別不在于是否跨域计维,ajax通過服務端代理一樣可以實現(xiàn)跨域,jsonp本身也不排斥同域的數(shù)據(jù)的獲取撕予。

4鲫惶、還有就是,jsonp是一種方式或者說非強制性協(xié)議实抡,如同ajax一樣欠母,它也不一定非要用json格式來傳遞數(shù)據(jù),如果你愿意吆寨,字符串都行赏淌,只不過這樣不利于用jsonp提供公開服務。

總而言之啄清,jsonp不是ajax的一個特例六水,哪怕jquery等巨頭把jsonp封裝進了ajax,也不能改變著一點!

———————————————————————————————————————————

看了很多網上的資料掷贾,拿出通俗易懂的話講解跨域問題睛榄,以及ajax,jsonp想帅,json的區(qū)別懈费。

【1】ajax和jsonp本質上是不同的東西。Ajax是異步的js他的核心是通過XmlHttpRequest獲取非本頁內容博脑,而jsonp的核心則是動態(tài)添加標簽來調用服務器提供的js腳本。

【2】ajax和jsonp這兩種技術很像票罐,目的也一樣叉趣,都是請求一個url,然后把服務器返回的數(shù)據(jù)進行處理该押,因此jquery類庫把jsonp作為ajax的一種形式進行了封裝(其實并不是一種東西)怪jq嘮疗杉?用著爽就好;

【3】出于安全考慮蚕礼,腳本(AJAX)不能訪問非本域的內容烟具。但是,靜態(tài)資源是不受域策略限制的奠蹬,可以加載任意域的腳本朝聋、樣式、圖片等靜態(tài)資源囤躁,JSOP就是利用這種原理來實現(xiàn)跨域獲取數(shù)據(jù)的冀痕。

先介紹jsonp的使用方法:

好人做到底源碼給你嘮

$(function(){

$.ajax({

type: "get",

url: "http://apis.juhe.cn/cook/query.php?menu=魚香肉絲&key=dfed9d599318b17aa073a9337d057e5f",

dataType: "jsonp"

}).done(function (data) {

console.log(data)

})

});

服務器運行的結果完美跨域獲取到數(shù)據(jù)

再介紹PHP配合ajax跨域:

先建立叫search.php的文件!

內容為:

$data =$_POST['data'];

//服務器來接收客戶端發(fā)送的數(shù)據(jù)

//服務器允許 該請求頭進行跨域

header("Access-Control-Allow-Origin:http://apis.juhe.cn/cook/query.php?".$data."&key=dfed9d599318b17aa073a9337d057e5f");

// 服務器獲取數(shù)據(jù)的方式

header('Access-Control-Allow-Methods:GET');

// 動態(tài)獲取數(shù)據(jù)地址

$ulr ="http://apis.juhe.cn/cook/query.php?".$data."&key=dfed9d599318b17aa073a9337d057e5f";

// 服務器講獲取的數(shù)據(jù)轉換成JSON格式 返回給客戶端

$html=file_get_contents($ulr);

// 返回客戶端 echo 返回一個字符串

echo $html;//服務器來返回一個 string的 數(shù)據(jù)

?>

Index.html的內容為:

運行結果:

最后再說一下json和jsonp的區(qū)別json是一種數(shù)據(jù)格式而jsonp是一種跨域的方式根本不是一回事只是名字差不多!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末狸演,一起剝皮案震驚了整個濱河市言蛇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宵距,老刑警劉巖腊尚,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異满哪,居然都是意外死亡婿斥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門翩瓜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來受扳,“玉大人,你說我怎么就攤上這事兔跌】备撸” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長华望。 經常有香客問我蕊蝗,道長,這世上最難降的妖魔是什么赖舟? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任蓬戚,我火速辦了婚禮,結果婚禮上宾抓,老公的妹妹穿的比我還像新娘子漩。我一直安慰自己,他們只是感情好石洗,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布幢泼。 她就那樣靜靜地躺著,像睡著了一般讲衫。 火紅的嫁衣襯著肌膚如雪缕棵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天涉兽,我揣著相機與錄音招驴,去河邊找鬼。 笑死枷畏,一個胖子當著我的面吹牛别厘,可吹牛的內容都是我干的。 我是一名探鬼主播矿辽,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼丹允,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了袋倔?” 一聲冷哼從身側響起雕蔽,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宾娜,沒想到半個月后批狐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡前塔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年嚣艇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片华弓。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡食零,死狀恐怖,靈堂內的尸體忽然破棺而出寂屏,到底是詐尸還是另有隱情贰谣,我是刑警寧澤娜搂,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站吱抚,受9級特大地震影響百宇,放射性物質發(fā)生泄漏。R本人自食惡果不足惜秘豹,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一携御、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧既绕,春花似錦啄刹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怎炊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間廓译,已是汗流浹背评肆。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留非区,地道東北人瓜挽。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像征绸,于是被迫代替她去往敵國和親久橙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內容

  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,216評論 0 7
  • 本文轉自管怠,博客園淆衷,昵稱:[隨它去吧],http://www.cnblogs.com/dowinning/archi...
    戰(zhàn)神飄雪閱讀 886評論 0 6
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理渤弛,服務發(fā)現(xiàn)祝拯,斷路器,智...
    卡卡羅2017閱讀 134,715評論 18 139
  • 前言 說到AJAX就會不可避免的面臨兩個問題她肯,第一個是AJAX以何種格式來交換數(shù)據(jù)佳头?第二個是跨域的需求如何解決?這...
    蠟筆小噺沒有煩惱閱讀 1,607評論 4 43
  • 一晴氨、概念 vsftpd虛擬用戶:不是系統(tǒng)用戶康嘉,即虛擬用戶在系統(tǒng)中是不存在的,不能用來登錄系統(tǒng)籽前。他們的總體權限其實是...
    指間_流年閱讀 234評論 0 0