顯示具有 AJAX 標籤的文章。 顯示所有文章
顯示具有 AJAX 標籤的文章。 顯示所有文章

2012年2月16日 星期四

[Web] iframe, location,

iframe
在 iframe 中 submit 的 url,便是載入 iframe 的 url
供 iframe 呼叫的 function 必須寫在 $(function() {}); 之外


window.location
這樣 request method 是 GET,user 只要打網址就可以執行此動作


$().click(function() { }):
Only set click listener not really do the function in click().

$(function() {} )
[jQuery] ready() vs. onload()
在 DOM 下載完後才執行,以避免 function 使用到尚未載入的 element。


AJAX
適合使用 AJAX 的時機,當想保留當下操作頁面的資訊與狀態。

2011年10月1日 星期六

[J2EE] note

* submit 後將 form 中欄位的值送到 server

* server site 也做檢查是避免惡意人士 造假頁面試圖躲過頁面上的檢查 然後 submit 到我們的 server 的 action url

* jsp 會被 server compiler,html tag js 應視為頁面上固定死的東西(字串) ,所以 java 穿插在其中的 code 應以 compiler 後的值來看,而不是以 java code 的角度來看。



2011年3月17日 星期四

[AJAX] Introduction

* Definition
  • 不同步的 JavaScript 及 XML(Asynchronous JavaScript And XML)。
  • 2005 年由 Google 推廣來的編程模式,但並不是一種新的编程語言,而是一種使用現有標准的新方法,用於創建快速動態網頁。
  • 基於 JavaScript 和 HTTP 請求(HTTP requests),在無需重新加載整個網頁的情况下,通過在後台與 server 進行少量數據交換,能夠更新部分網頁。
  • ex: 新浪微博、Google 地圖、開心網。

* XMLHttpRequest
  • 是 AJAX 的基礎。
  • 用於在後台與 server 交換數據。
  • 但對於 IE5 and IE6 則需要檢查是否支持 XMLHttpRequest 對象。若支持才創建 XMLHttpRequest 對象,若不支持,則是創建 ActiveXObject。

* 在以下情况中,請使用 POST:
  • 無法使用緩存文件(更新 server 上的文件或數據庫)
  • 向 server 送大量數據(POST 没有數據量限制)
  • 發送包含未知字符的用戶輸入時,POST 比 GET 更穩定也更可靠

* 使用 async=false 時,不要編寫 onreadystatechange 函数,把代碼放到 send() 語句後面即可。

* 使用 async=true 時,在回應處於 onreadystatechange 事件中的就緒狀態執行的函数。

* onreadystatechange 事件
  • 當請求被送到 server 時,一些當 server 回應已經做好被處理的準備時所需要執行的工作。
  • 當 readyState 改變時,就會觸發 onreadystatechange 事件。
  • readyState 屬性存有 XMLHttpRequest 的狀態信息。
  • 當 readyState 等於 4 且狀態為 200 時,表示回應已就緒。
  • 此事件會被觸發四次,對應著 readyState 的每個變化。

* callback 函數是一種以参數形式傳遞给另一個函數的函數。


* Reference
- W3C AJAX 教程

2011年1月23日 星期日

AJAX

.Asynchronous JavaScript and XML (AJAX) 
   -- 是種創建互動網頁應用的網頁開發技術。
   -- 類似於DHTML或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。

   -- 综合了「Javascript + DHTML + DOM + CSS + XMLHttp + XML」等「多位一體」的互動式網頁應用開發技術
   -- 除了「所思即所見」特色外,「AJAX」可以說是一種以「客戶為導向的網頁應用DIY開發程式」。


.主要的目的
   -- 提高網頁的互動性 (interactivity),速度 (speed),以及可用性(usability)。

.不是一項單獨的技術,它是由一堆現有的技術所組成,它的組成技術有:
   -- XHTML (或者 HTML) 加上 CSS 來作為資料的呈現。 
   -- 利用 DOM 以及 Javascript 來進行存取資料 (大多為 XML) 的處理。
   -- 利用 XMLHttpRequest 物件與遠端的 web server 進行非同步的資料交換。 

.使用AJAX的時機:
   -- 像Google Maps 的使用中,browser 與 web server 之間需要傳遞非常大量的圖形資料, 如果利用傳統的同步方式,在全部的圖形下載完成之前,我們沒辦法 對網頁進行操作,而使用者點選往左、往右的按鈕後,使用者又得等待另一次 的圖形傳遞。
   -- 反之,如果我們可以在使用者操作的時候,非同步的下載其它圖形呢? 這樣速度會變快,也不必一再的重複 reload 網頁。 (註:依據 IBM McLaughlin 的說法,這些可以動態出現不同內容的地方,經常是由
或者 所定義。) 當 AJAX engine 接收使用者全部或者部份的 form data 之後, AJAX engine 會跟 web server 連絡並由 web server 處理完成,並將完成的資料回傳給 AJAX engine,然後再由 AJAX engine 將成果動態的呈現在網頁上。這些過程,使用者完全不會 感受到,而且由於是非同步的,網頁不會停止接收使用者的操作。

與傳統的Web應用比較

   --  傳統的Web應用允許用戶端填寫表單(form),當送出表單時就向Web伺服器發送一個請求。伺服器接收並處理傳來的表單,然後送回一個新的網頁,但這個做法浪費了許多頻寬,因為在前後兩個頁面中的大部分HTML碼往往是相同的。由於每次應用的溝通都需要向伺服器發送請求,應用的回應時間就依賴於伺服器的回應時間。這導致了用戶界面的回應比本機應用慢得多。
   --  與此不同,AJAX應用可以僅向伺服器發送並取回必需的數據,它使用SOAP或 其它一些基於XML的頁面服務介面(介面), 並在客戶端採用JavaScript處理來自伺服器的回應。因為在伺服器和瀏覽器之間交換的數據大量減少(大約只有原來的5%),結果我們就能看到回應(伺服器回應)更快的應用(結果)。同時很多的處理工作可以在發出請求的客戶端機器上完成,所以Web伺服器的處理時間也減少了。

.Reference 1 2 3