Ajax使用雜談 也許也是亂彈

來源:互聯網
上載者:User

隨著Ajax技術的出現、盛行,本被忽視認為是二流程式設計語言的JavaScript指令碼也開始了新的盛行,大量的JavaScript架構的出現如Microsoft Asp.Net Ajax、jQuery等。Ajax已經成為這些指令碼架構必不可少的組成部分了,而且Ajax的開發也越來越簡單化。

Ajax是一種已不是載入指令碼,其最古老的實現方式是利用iframe來載入遠端指令碼利用top.Function來調用父表單的方法。利用a等HTML的target屬性來指定。簡單但是後期維護複雜化了並且在跨越方面很麻煩。接著就XMLHttpRequest對象的出現,一定程度的簡化了Ajax的開發,但是在不同的瀏覽器中實現有很多大不同,FireFox中XMLHttpRequest和IE中的ActiveObject等方式,以及它僅提供了很少和簡單的Ajax請求和處理。在現在出現了很多的JavaScript架構,在基於XMLHttpRequest的封裝和類庫的提供,極大的簡化了我們的Ajax編程。其中最為出名和盛行的jQuery架構。這裡需說出的是jQuery很好實現了跨域問題。

下面我就說幾點自己目前想到的Ajax注意或者技巧,思維也許有點亂,請諒解,將的不好,也請原諒。

1:Ajax中的X是XML,它也可以很方便的載入XML,但是我個人覺得架子啊XML是個很不好的方式。首先大家都知道XML是一種嚴格的資料存放區方式,有很多冗餘資訊。再則XML的處理也有一定的複雜性。XML能實現跨平台性,如WebService,這是WebService的優點,但是也是一個致命的缺點,它基於的XML冗餘資訊,所以在分布式中速度也是很慢的。

相比而言Json對象是一個輕量級的儲存方式,它是以名值對的形式儲存。而且JavaScript指令碼本身就是一個天然的Json對象,無需轉化,可以直接使用,並且現在.NET架構中提供了對Json序列化的支援.我個人觀點是首選Json。

2:在伺服器端為了效能等的考慮經常會有緩衝,以及瀏覽器的緩衝。有時我們需要避免,最簡單的方式是加上一個時間戳記,"Default.aspx?time=” + DateTime.Now。就可以避免緩衝。如果你用的是Jquery的Ajax那可以直接設定cache:false禁用緩衝。

3:在Ajax編程需要注意的是Content-Type,有HTML、Text、Json、XML、Script等方式。我們很多的無故的錯誤經常就在這裡的設定。需要注意Ajax的Content-Type,以及服務端輸出的Content-Type。還有就是伺服器端,我們要輸出前的Response.Clear(),Response.ContentType=Type,以及完成時的Response.Flush()和Response.Clos()。

4:Ajax並不是高互動、高使用者體驗的代表,這需要說明。我們的應用不該首選Ajax技術,因為如果Ajax技術用的不是很好,那反而會適得其反。還有就是如果要用Ajax,那我們就必須為客戶準備退路,因為ajax請求很可以由於各種原因而出錯。

5:Ajax必究是基於用戶端指令碼,這就意味在存在一定的安全隱患,很容易暴露我們的某些敏感資訊。特別是網上的指令碼代碼糜爛,我們有些人經常會在網上Copy下來僅僅測試下就加入了我們的項目,我覺得這是一個很不好的習慣。很容易得不償失。

時間已晚,就說這麼多吧,如果你還有什麼心得或建議請留言。如果你有不懂的疑問也可以留言,我會儘力和儘快回複。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.