iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 17
1
自我挑戰組

你看微客=[ 前端領域 - 超入門 ]系列 第 17

Ajax---[ Ajax、JSON、JSONP ]---無用小觀念

  • 分享至 

  • xImage
  •  

Ajax、JSON、JSONP

  • Ajax ( Asynchronous Javascript and XML ) 指的是網頁伺服器回應網頁請求,在不重新載入頁面的情況下更新的技術,如 FB 的按讚、登入而不離開網頁、投票與評分等都是 Ajax 技術的應用。
  • Ajax 實際是借由瀏覽器、Javascript、網頁伺服器,此三種元件搭配運作來實現:
  1. 瀏覽器:接收使用者操作來觸發事件,並利用內建的 XMLHttpRequest 物件連結 Javascript 語言。
  2. Javascript:利用 XMLHttpRequest 物件提供的方法及屬性來送出請求給網頁伺服器,然後等待、處理回應,並以載入部分頁面的方式來更新網頁
  3. 網頁伺服器:接收請求並回應資訊給瀏覽器,一般是回傳 JSON 或 XML 格式的資料
  • XMLHttpRequest 物件提供 GET 及 POST 兩種不同的方法來傳送資料給瀏覽器,採用何種方式需視伺服器端如何設計而定
  • GET 方法會將要傳送的索引資料接在 URL 之後,於 URL 欄可見,安全性較差,適合不會影響伺服器端資料庫或檔案的請求
  • POST 方法會將傳送的資料與 URL 分開,於 URL 欄可見,安全性較高,當發出請求所傳送的資料會影響伺服器端資訊時較適用
  • JSON ( Javascript Object Notation ) 的格式與 Javascript 物件非常相似,瀏覽器可以快速的將其轉換為 Javascript 可處理的物件,而 XML 在處理之前須先解析其 DOM ,才能讓 Javascript 進行處理,耗費較多時間與資源,故目前 JSON 是 Ajax 交換資料較常見的格式。
  • JSON 格式與 Javascript 物件的主要差異在於,JSON 物件的屬性名稱需使用雙引號包圍,且資料皆為字串形式,其內容同樣要用雙引號包圍
    範例:
{
  "name" : "vic",
  "sex" : "male",
  "age" : "34"
}
  • Ajax 請求因為安全性的考量,被瀏覽器限制在同一來源。
  • JSONP ( JSON with padding ) 提供從其他網站讀取資料的方式,其方法就像是連結第三方網站的外部 Javascript 檔案。
  • 目標第三方網站必須設定能回應 JSONP ,才能使用 JSONP 對其請求資料。

上一篇
jQuery---[ 外掛 ( plug-in )、jQuery UI ]---無用小觀念
下一篇
RWD---[ 響應式網站 ( 一 ) ]---無用小觀念
系列文
你看微客=[ 前端領域 - 超入門 ]30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言