Category: AJAX

昨天剛在公司解完案例,今天又在日常生活遇到實例,老天爺這暗示明顯無比,趕緊來篇筆記,以防出門雷劈! 最近迷上蝦皮拍賣。能跟 LINE 一樣跟賣家溝通超方便,尤其問完問題馬上接到賣家的實體照片真令人感動,不用出門與人面對面又保有臨櫃交談的即時性,真是阿宅的救星。遇到一個賣家很妙,凌晨四點多發訊息...

JSONP 是解決跨網域 JavaScript 呼叫的古老方法,簡單有效又不挑瀏覽器,至今仍是我常用的兵器之一。最近在想一個問題,JSONP 呼叫時由客戶端指定 Callback 函式名稱,是一個可以注入惡意程式碼的管道,有否存在 XSS 攻擊的風險?需不需要積極防護? 經過嘗試,發現要透過 JS...

同事報案,某網頁使用jQuery.ajax()發出四個OData查詢,在Chrome執行正常,在IE時兩個AJAX呼叫正常,有兩個查不到資料。使用F12觀察,發現有問題的AJAX呼叫URL參數包含中文但未使用encodeURIComponent()編碼,Chrome正確地自動做了轉換,IE也自動做...

接獲報案,某專案使用Telerik RadControl的RadAsyncUpload元件,在選取檔案後隨即出現網頁登入對話框,輸入正確密碼後,元件的上傳進度Icon持續閃黃燈,若按上傳鈕甚至在某些機器上導致IE Crash。 據說問題只發生在某些User的機器上,但數量不少,偏偏資訊部門的機器...

接獲報案: 某網頁透過AJAX新增資料,接著以AJAX方式取回資料清單,卻不見剛才新增的項目,重新整理網頁則正常。 經過一番檢測,確認與AJAX的非同步特性有關,循序執行AJAX呼叫的做法先前曾討論過,但這回我們改從問題剖析的角度再切入一次。 試著用以下範例重現問題。假設有一個後...

故事要從點部落看到的一篇文章說起,該文章引薦了另一篇文章: 如何有效的提升網站的效能 - 12項建議,提出不少網頁前端設計上的效能提示,不過其中第8點: 在使用Ajax時,請盡量以GET的方式進行請求,以POST的方式將造成雙倍的要求次數 卻讓人有些疑惑,依我對HTTP GET與PO...

RadControls for ASP.NET AJAX是一套挺優秀的ASP.NET元件庫,包辦了開發ASP.NET專案時需要用到的大小控制項(如: Grid、日期選擇器、數字輸入欄位、頁籤... 等等),手上有幾個專案裡就是利用RadGrid的Client-Side Data-Binding實...

昨天提到在AJAX情境支援回上頁的做法,Ammon馬上補充重要資訊(再次感謝!!) --- 針對AJAX模式下記錄瀏覽歷程的需求,HTML5 history物件已增加了新功能。(詳情可參考MDN文件) jQuery BBQ透過pushState(), getState()及hashchage事...

隨著AJAX動態更新技術的普及,手邊專案有愈來愈多網頁開始實現"無PostBack"的設計風格,透過jQuery $.post(), $.get()與ASP.NET程式溝通,執行查詢、更新作業並取得結果,再動態改變HTML DOM回應使用者。(註: 對ASP.NET開發者來說,UpdatePan...

使用者回報某段使用XHR(XMLHttpRequest)的Script在他的IE8上執行出現錯誤。 追查發現,問題出在Script中使用了xhr.timeout,而系統回報不支援,求證發現timeout屬性是IE8主打的XHR強化項目,而瀏覽器版本的確是IE8無誤。 進一步檢查,更大吃一驚!...

最近在搞用Client Script模擬壓力測試的把戲,順道對IE的MaxConnectionsPerServer屬性做了實測。 IE6/7預設會限制從同一台網站伺服器下載檔案最多只能同時用2條連線,換句話說,若一個網頁上有12個不同的<img>圖檔來自同一台網站伺服器,IE6/7並...

為一個使用BIG5編碼的網站寫一小段AJAX Script滿足需求,結果踢到了鐵板。 使用$.get()或$.post()取得後端網頁程式執行內容是很普遍的技巧,但若網頁採BIG5編碼而非UTF-8時,會衍生額外議題。 以下面的網頁為例,我們在按鈕click()事件中使用$.get(loca...

使用者在點擊網頁元素後啟動檔案下載的方法有好幾種,我做了一個ASP.NET網頁一次測試window.open(), location.href, 隱藏iframe等三種方法,同時還加個Checkbox以模擬下載失敗顯示錯誤訊息網頁的情境。 <%@ Page Language="C#"...

手邊有一隻ASP.NET程式,呼叫時透過URL帶入不同日期,可執行特定的計算邏輯。在正常情境下會有排程每天傳入當天日期計算,在測試台上想強制重算某段期間的資料,需要跑迴圈不斷傳入不同日期執行。 處理這個需求,我最優先想到的策略是用Mini C# Lab寫幾行程式搞定。不過想想,有時需求可能發生...