標簽‘ajax’

iOS下AJAX請求遇HTTP狀態碼401持續pending問題解決

最近項目上遇到這樣一個問題,iOS 系統,在 AJAX 請求發出后,因授權原因返回 401,發現一直 pending,查了很久發現 SO 上有類似提問。

主要原因是,當 AJAX 返回帶 WWW-Authenticate 信息的 401 響應時,Web 容器 (瀏覽器或 WebView )會嘗試彈出彈出框讓你輸入認證信息。但是在 iOS 平臺,系統的某些默認行為會導致請求沒有被發送到應用層。因此,AJAX請求會處于 pending 狀態。

因為項目并不是基于 HTTP 認證的,而服務端采用的 IIS,默認開啟了相關配置,最終為解決問題,選擇了刪除響應頭中所有的 WWW-Authenticate 信息。 查看更多...

異步輸出網頁列表查看詳情后返回定位

最近有個需求,移動端網站,列表上拉加載,點擊詳情后返回,每次都固定返回到頂部,感覺這樣不夠人性化,希望固定到進列表前的頁面,于是簡單實現了一下。

這里有兩個問題

1、數據都是異步的

2、只有返回的時候定位(刷新正常回頂部)

簡單的實現思路及主要代碼

為了方便二次加載,異步數據每次緩存到本地,同時攔截頁面所有鏈接,在即將跳轉的時候記錄當前頁面或者滾動元素的scrollTop值,下次進頁面判斷是否返回進來的,如果是直接進來或者刷新,則重新請求,如果為返回,則直接使用已緩存數據迅速加載后使用已緩存的scrollTop值定位到進詳情頁之前的位置,同時清除值,即scrollTop值的緩存僅一次有效。 查看更多...

簡易NodeJS、PHP跨域代理[Restful請求]

最近測試一些東西,需要跨域訪問Restful接口,因為是測試,不可能改變接口形式,所以jsonp方案直接Pass。

本地測試時簡單寫了幾行NodeJS代碼,對特定路徑下的請求進行轉發后回傳,因為使用WebStorm開發,NodeJS不可以和WebStorm內置服務器使用相同端口,雖然可以通過配置本地服務器,完全將NodeJS作為服務器,但那樣需要解決靜態資源的輸出,寫東西過多,偏離初衷,這里不再贅述。

不過如果你是做前后端完全分離的項目,大可以找個開源的Web框架來用,比如express等,這里不多介紹。

總之但思路就這樣了,可能不太完善,代碼如下: 查看更多...

Extjs 4.2 Grid增刪改及后臺交互(Java)

上次發了Easyui Datagrid的增刪改查的使用學習記錄后一直想整理下基于Extjs4.2的Grid學習使用記錄。苦于抽不出時間,一直拖到現在。不得不說,Extjs確實很強大,新版的Neptune風格也很入我眼,但畢竟沒怎么用過,第一次用,也不敢上來就搞什么自定義組件,也就純粹的model+store+panel聲明式創建表格了。

拋開分頁,拋開排序,今天只簡單講一下最近使用中總結出來的rest形式增刪改查數據的方式。發現這種方式挺不錯的,故而分享下。
代碼Example如下:
定義Model

Ext.define('Person', {
    extend: 'Ext.data.Model',
    fields: [{name: 'id',
        type: 'int',
        useNull: true
    }, 'email', 'first', 'last'],
    validations: [{ type: 'length',
        field: 'email',
        min: 1
    }, {type: 'length',
        field: 'first',
        min: 1
    }, {type: 'length',
        field: 'last',
        min: 1
    }]
});

查看更多...

Ajax應用事件處理及瀏覽器內存泄漏實踐

事件處理是 Ajax 應用中的重要組成部分,也是應用動態變化的源動力。本文詳細介紹了瀏覽器中的事件處理相關的內容,包括注冊事件監聽器、事件發生之后的傳播機制、編寫事件監聽器等,還介紹了 Dojo 對事件處理提供的支持。最后介紹了與瀏覽器內存泄露和性能相關的最佳實踐。

瀏覽器中的事件是 Ajax 應用動態變化的源動力。用戶通過輸入設備(主要是鍵盤和鼠標)與應用進行互動。對于用戶不同的動作,如點擊鼠標左鍵、右鍵、或是按下鍵盤上的回車鍵,瀏覽器會產生與之對應的事件。這些事件按照一定的規則在當前文檔樹中傳播。應用可以根據自己的需要,對特定的事件進行處理,以響應用戶的動作。這種事件驅動的方式,不僅在 Web 應用中被使用,在桌面應用中也廣泛流行。本文詳細介紹了瀏覽器中事件處理的各個方面,包括事件監聽器的注冊、事件的傳播、事件處理和其它高級話題。本文還介紹了如何使用 Dojo 提供的 dojo.connect()。本文中使用的 Dojo 版本是 1.4。下面首先介紹如何注冊事件監聽器。

注冊事件監聽器

注冊事件監聽器的目的是在事件發生的時候添加相應的處理邏輯。瀏覽器中的事件處理采用經典的觀察者(Observer)設計模式。對于可能產生的各種事件,Ajax 應用通過腳本在節點上關注自己感興趣的事件,并添加相應的處理邏輯。當相應的事件發生并傳播到監聽器注冊的節點時,處理邏輯會被調用。 查看更多...

細談可刷新Ajax無刷新應用的構建及原理

想必看標題就有一大部分朋友懵了,其實這個標題完全沒有錯,我要說的就是目前流行的ajax應用的構建。眾所周知,ajax應用的核心就是使用javascript異步調用XmlHttp發送請求并接收數據,然后在前臺進行局部刷新,從而達到無刷新改變頁面內容的效果。但在很多場合,如果使用大量的ajax,雖然可以使應用使用體驗更佳,卻避免不了用戶因為各種因素而進行的全局刷新。

舉個例子,有個文章管理頁面,完全是由ajax實現的,在默認情況下顯示文章列表,點擊某按鈕或鏈接的情況下異步加載了文章添加的界面,此時如果用戶刷新了頁面,先不說已經寫下的內容,頁面是不是又回到了列表狀態呢?沒錯,這就是我要說的問題。

其實之前就有過此類困擾,后來為了兼顧各方面靈活性,就采用了多頁面的方式,部分地方還使用了iframe。最近又做項目使用了大量ajax,同理,遇到同樣的問題。 查看更多...

用Dojo實現XHR、跨域、及其他Ajax請求

工作之余,收集了dojo的入門知識,以便以后查用。下面是用Dojo實現XHR、跨域、及其他Ajax請求的介紹,希望有用。

在任何瀏覽器上方便地實現Ajax請求是每一個Ajax框架的初衷。Dojo在這方面無疑提供了非常豐富的支持。除了XMLHttpRequest之外,動態script、iframe、RPC也應有盡有,并且接口統一,使用方便,大多數情況下都只需要一句話就能達到目的,從而免除重復造輪子的麻煩。而且,Dojo一貫追求的概念完整性也在這里有所體現,換句話說,在使用Dojo的Ajax工具的過程中不會感到任何的不自然,相反更容易有觸類旁通的感覺,因為API的模式是統一的,而且這里涉及到的某些概念(如Deferred對象)也貫穿在整個Dojo之中。

Dojo的XHR函數

Dojo的XMLHttpRequest函數就叫dojo.xhr,除了把自己取名美元符號之外,這好像是最直接的辦法了。它定義在Dojo基本庫里,所以不需要額外的require就能使用。它可以實現任何同域內的http請求。不過更常用的是dojo.xhrGet和dojo.xhrPost,它們只不過是對dojo.xhr函數的簡單封裝;當然根據REST風格,還有dojo.xhrPut和dojo.xhrDelete。 查看更多...

GWT框架下進行Ajax開發基礎實例

從事Web開發的人員一般都接觸過,在我看來,Ajax的立意很好,我比較感興趣的就是Ajax在某些應用場合可以有效降低服務器負載,可以局部刷新,所以可以說Javascript+XMLhttp是Web開發中不可或缺的好東西。Ajax雖好,但它這要求開發團隊能熟練使用Javascript,這是一個障礙。目前狀況是,團隊的成員明顯對深入學習Javascript的意愿不高。因此,各類簡化了的Javascript框架出現了。

眾所周知,Google產品設計面非常廣,這里要介紹的就是Google發布的面向Java開發人員的Ajax快速開發工具——GWT(Google Web Toolkit),Ajax技術是當前開發Web應用的非常熱門的技術,也是Web 2.0的一個重要的組成部分。然而如果用傳統的方式Javascript進行Ajax開發的話,就會使得應用程序非常難以進行調試,從而降低了生產效率。

Google最近推出的GWT有望為我們解決這個難題,GWT是一個開發Ajax應用的框架,它使程序員用Java同時開發客戶端和服務器端的代碼。 查看更多...

幾種常用ajax框架分析介紹

網上搜集整理了幾種常見ajax框架,分別列出來,給想學的朋友做個參考。(排名不分前后)

1. APS.NET的官方解決方案
ASP.NET AJAX
網址:ajax.asp.net

ASP.NET AJAX是微軟.NET平臺上的解決方案,提供包括服務器端與客戶端所需的AJAX技術與JavaScript整合機制。

通過下載、安裝ASP.NET AJAX到Visual Studio當中,即可使用預設的控制項,開發出一些視覺特效與非同步傳輸的應用。

另外,ASP.NET AJAX也提供控制項的Toolkit,包含開發人員想自行開發AJAX應用時所需的基底類別與專案范本。 查看更多...

博客添加了嵌套評論Ajax提交功能

今天,又想起了一個問題,記得年前的時候有朋友訪問我的博客,在評論后說評論沒有ajax效果,導致了瀏覽器假死,我說暫時不會添加,因為自己當時沒接觸過ajax。最近對ajax有了些接觸,不過自己還是沒能力去修改主題,讓它支持ajax評論提交。

但是,我至少知道了,需要實現這個功能不必要對主題進行重新構架,這樣來說,增加一段代碼也許就能實現了。至此,問題已經有了新的解決方法,我們有萬能的百度,隨便一搜,有很多方法。 查看更多...

黑龙江22选5开奖