json與jsonp的應用 - - >

(一)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();


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章