JSONP將訪問跨域請求變成了執(zhí)行遠(yuǎn)程JS代碼展融,服務(wù)端不再返回JSON格式的數(shù)據(jù)豫柬,而是返回了一段將JSON數(shù)據(jù)作為傳入?yún)?shù)的函數(shù)執(zhí)行代碼。
實際上就是發(fā)送給服務(wù)器一個函數(shù)名轮傍,然后服務(wù)器把json數(shù)據(jù)作為參數(shù)給這個函數(shù),然后返回這段js代碼杭跪。
script標(biāo)簽請求的這段js代碼返回之后,相當(dāng)于立刻執(zhí)行這個函數(shù)驰吓。
parse用于從一個字符串中解析出json對象parse用于從一個字符串中解析出json對象,如
var str = '{"name":"huangxiaojian","age":"23"}'
結(jié)果:
JSON.parse(str)
Object
age: "23"
name: "huangxiaojian"
proto: Object
注意:單引號寫在{}外涧尿,每個屬性名都必須用雙引號檬贰,否則會拋出異常。
stringify()用于從一個對象解析出字符串桥言,如
var
a = {a:1,b:2}
結(jié)果:
JSON.stringify(a)
"{"a":1,"b":2}"