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 的時機,當想保留當下操作頁面的資訊與狀態。
2012年2月16日 星期四
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 的角度來看。
* server site 也做檢查是避免惡意人士 造假頁面試圖躲過頁面上的檢查 然後 submit 到我們的 server 的 action url
* jsp 會被 server compiler,html tag js 應視為頁面上固定死的東西(字串) ,所以 java 穿插在其中的 code 應以 compiler 後的值來看,而不是以 java code 的角度來看。
2011年3月17日 星期四
[AJAX] Introduction
* Definition
* XMLHttpRequest
* 在以下情况中,請使用 POST:
* 使用 async=false 時,不要編寫 onreadystatechange 函数,把代碼放到 send() 語句後面即可。
* 使用 async=true 時,在回應處於 onreadystatechange 事件中的就緒狀態執行的函数。
* onreadystatechange 事件
* callback 函數是一種以参數形式傳遞给另一個函數的函數。
* Reference
- W3C AJAX 教程
- 不同步的 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 的說法,這些可以動態出現不同內容的地方,經常是由
-- 是種創建互動網頁應用的網頁開發技術。
-- 類似於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
.與傳統的Web應用比較
-- 傳統的Web應用允許用戶端填寫表單(form),當送出表單時就向Web伺服器發送一個請求。伺服器接收並處理傳來的表單,然後送回一個新的網頁,但這個做法浪費了許多頻寬,因為在前後兩個頁面中的大部分HTML碼往往是相同的。由於每次應用的溝通都需要向伺服器發送請求,應用的回應時間就依賴於伺服器的回應時間。這導致了用戶界面的回應比本機應用慢得多。
-- 與此不同,AJAX應用可以僅向伺服器發送並取回必需的數據,它使用SOAP或 其它一些基於XML的頁面服務介面(介面), 並在客戶端採用JavaScript處理來自伺服器的回應。因為在伺服器和瀏覽器之間交換的數據大量減少(大約只有原來的5%),結果我們就能看到回應(伺服器回應)更快的應用(結果)。同時很多的處理工作可以在發出請求的客戶端機器上完成,所以Web伺服器的處理時間也減少了。
.Reference 1 2 3
訂閱:
文章 (Atom)