json與jsonp知識(shí)小結(jié)(推薦)
來源:易賢網(wǎng) 閱讀:1065 次 日期:2016-08-30 16:09:19
溫馨提示:易賢網(wǎng)小編為您整理了“json與jsonp知識(shí)小結(jié)(推薦)”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了json與jsonp知識(shí)小結(jié)(推薦)的相關(guān)資料,需要的朋友可以參考下

json

1. json 的值可以是下面這些類型:

① 數(shù)字(整數(shù)或浮點(diǎn)數(shù)),比如123,1.23

② 字符串(在雙引號(hào)中)

③ 邏輯值(true 或 false)

④ 數(shù)組(在方括號(hào)中)

⑤ 對(duì)象(在花括號(hào)中)

⑥ null

2. json解析方法

① eval('(' + jsondata + ')' ); 使用時(shí)永遠(yuǎn)是不安全的,代碼注入

② JSON.parse(jsondata);

JSONLint json:字符串校驗(yàn)工具

3. jQuery 實(shí)現(xiàn)ajax

jQuery.ajax([settings])

type :類型

url :發(fā)送請(qǐng)求的地址

data :是一個(gè)對(duì)象,連同請(qǐng)求發(fā)送到服務(wù)器的數(shù)據(jù)

dataType :預(yù)期服務(wù)器返回的數(shù)據(jù)類型,如果不指定,jQuery 將自動(dòng)根據(jù)HTTP包MIME信息來智能判斷,一般我們采用json 格式,可以設(shè)置為”json”

success :是一個(gè)方法,請(qǐng)求成功后的的回調(diào)函數(shù),傳入返回后的數(shù)據(jù),以及包含成功代碼的字符串

error :是一個(gè)方法,請(qǐng)求失敗時(shí)調(diào)用此函數(shù)。傳入 XMLHttpRequest 對(duì)象

jsonp

跨域

一個(gè)域名地址的組成:

http://www .abc.com :8080 / scripts/jquery.js

協(xié)議://子域名. 主域名 :端口號(hào) / 請(qǐng)求資源地址

當(dāng)協(xié)議、子域名、主域名、端口號(hào)中任意一個(gè)不行同時(shí),都算作不同域

不同域之間相互請(qǐng)求資源,就算作“跨域”

javascript 出于安全方面的考慮,不允許跨域調(diào)用其他頁面的對(duì)象。

什么是跨域呢? 簡(jiǎn)單的解釋就是因?yàn)閖avascript同源策略的限制,a.com 域名下的js無法操作b.com 或是 c.a.com域名下的對(duì)象

處理跨域方法:

—— 代理(屬于后臺(tái)技術(shù))比如在北京的web服務(wù)器的后臺(tái)來調(diào)用上海服務(wù)器的服務(wù),看然后再把響應(yīng)結(jié)果返回給前端,這樣前端調(diào)用北京同域名的服務(wù)器就和調(diào)用上海的服務(wù)效果相同了。

—— JSONP

a域名去聲明,b域名去調(diào)用

注意:JSONP只能用于GET 請(qǐng)求,不支持POST請(qǐng)求(局限性)

—— XHR2

HTML5 提供的XMLHttpRequest Level2 已經(jīng)實(shí)現(xiàn)了跨域訪問以及其他的一些新功能

IE10 以下的版本都不支持

在服務(wù)端做一些小小的改造即可:

header("Access-Control-Allow-Origin:"); 表示所有的服務(wù)器都可以訪問,也可以替換成特定的域名,比如說:服務(wù)器在上海,*換成北京服務(wù)器的域名,這樣只有從北京的域名才可以訪問

header("Access-Control-Allow-Methods:POST,GET");

下面說下jsonp 的優(yōu)缺點(diǎn)。

同源策略 :即JavaScript只能訪問與包含它的文檔在同一域下的內(nèi)容。jsonp可以跨越同源策略,當(dāng)我們使用了jsonp,將會(huì)是另外一種協(xié)議通信了。 

JSONP的優(yōu)點(diǎn)是:它不像XMLHttpRequest對(duì)象實(shí)現(xiàn)的Ajax請(qǐng)求那樣受到同源策略的限制;它的兼容性更好,在更加古老的瀏覽器中都可以運(yùn)行,不需要XMLHttpRequest或ActiveX的支持;并且在請(qǐng)求完畢后可以通過調(diào)用callback的方式回傳結(jié)果。 

JSONP的缺點(diǎn)則是:它只支持GET請(qǐng)求而不支持POST等其它類型的HTTP請(qǐng)求;它只支持跨域HTTP請(qǐng)求這種情況,不能解決不同域的兩個(gè)頁面之間如何進(jìn)行JavaScript調(diào)用的問題。

以上所述是小編給大家介紹的json與jsonp知識(shí)小結(jié)(推薦),希望對(duì)大家有所幫助

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:json與jsonp知識(shí)小結(jié)(推薦)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)