(一)json
window.JSON.parse() //用於將一個 JSON 字符串轉換爲 JavaScript 對象。
window.JSON.stringify() //用於將 JavaScript 值轉換爲 JSON 字符串。
取值
* 獲取json數據
* 以“{”開頭的是對象格式獲取時用 getJSONObject()
* 以“[”開頭的是數組格式獲取時用getJSONArray()
json的數據格式是 jsonarray 是數組形式。
json的對象格式是jsonobject 是對象形式。
parsejson是json轉換成對象
stringify是將obj轉換成json格式。
(二)jsonp
瀏覽器的同源策略
1.同源:域名、協議、端口都是一樣的稱爲同源,否則爲非同源。
非同源可以發送請求的有:a,img,link,script,form.
只有 協議+端口+域名 一模一樣才允許發 AJAX 請求
突破同源策略 === 跨域
jsonp可以動態的創建script來給非同源服務器發送請求,但是jsonp只能發送get請求,沒有辦法發送post及其他請求,這就造成了很大的侷限性。
因此,變引入了CORS(Cross-Origin Resource Sharing)跨域來解決這個問題。只需要在後臺服務器響應頭中添加請求域名即可,就可以使用AJAX進行非同源網站之間的交流了。
同源策略:
和後端人員商量好,在我門請求的路徑響應頭裏加上
response.setHeader('Access-Control-Allow-Origin','http://localhost:8001')
//這樣就可以告訴瀏覽器不要阻止,請求方獲取響應內容。
後端代碼:
response.statusCode = 200;
response.setHeader('Content-Type', 'text/xml; charset=utf-8');
response.setHeader('Access-Control-Allow-Origin','http://localhost:8888')
response.write(`
{
"note":{
"to":"friend",
"from":"wangliuyong",
"heading":"打招呼",
"content":"hello"
}
}
`);
response.end();