自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ajax應用需要注意的事項

開發(fā) 后端
AJAX 不是一種新的編程語言,而是一種用于創(chuàng)建更好更快以及交互性更強的 Web 應用程序的技術。 本文介紹了ajax應用時的主要事項,一起來看。

接觸Ajax,那時候的Ajax支持還不是很好,都要涉及底層,沒有現(xiàn)成的框架給你調(diào)用。現(xiàn)在把常見的問題列舉如下。

1、編碼問題

注意AJAX要取的文件是UTF-8編碼的。GB2312編碼傳回BROWSE后中文會亂碼。如果用VBScript的話還可以轉化,但是VBScript只有IE支持。

所以,選擇UTF-8編碼是一勞永逸的辦法。

2、清除服務器端文件的緩存。

當用XMLHTTP取回一個服務器端的文件,文件會緩存在瀏覽器端。下次再取文件時,不會再去服務器取文件。所以,對于刷新頻繁的文件,一定要指定文件的過期時間。

3、什么時候使用XML

Ajax里的X指的就是XML,可是真的XML就是最好的解決方案嗎?XML和JSON相比,在傳遞同等量的信息時,XML文件更大。所以往往JSON是更好的選擇。不過,你還可以直接輸出Javascript執(zhí)行,這樣的效率往往更高:不需要寫復雜的回調(diào)函數(shù)。不過安全問題也要更加注意。

4、兩種Ajax的方式

一些人的基礎可能還不是很扎實,并不非常了解Ajax的原理,那你知道Ajax由哪兩種方式來實現(xiàn)嗎?

最古老的一種是iframe來加載一個包含js的網(wǎng)頁,這個網(wǎng)頁里的腳本用 top.function來調(diào)用parent頁面里的函數(shù)。但是,你可以指定a的target和form的target,這樣就不用序列化表單,實際上能很方便地發(fā)送表單。當然后期就稍微有點麻煩,出現(xiàn)問題也不容易解決。

后來就是xmlhttp組件的方式。什么時候挑選什么方式,這也是一種技巧。

5、跨域問題

如果一個腳本不在同一個域,兩者就不能相互調(diào)用。如果iframe里是其他域的網(wǎng)頁,就不能訪問parent頁的具體內(nèi)容。如果需要訪問遠程的XML,比如RSS FEED,建議可以用服務器端腳本來中轉。在訪問量不是非常大的情況下還是很很好的一個解決辦法。不過,翻閱JQuery手冊發(fā)現(xiàn)它能調(diào)用(執(zhí)行)跨域的腳本,具體怎么做的還不是很清楚。大家可以下載JQUERY未加密的版本來研究下。

6、安全問題

在服務器端,雖然客戶端能預處理很多東西,你仍要注意一句話:一切來自客戶端的變量都是有害的。不在Ajax的情況下很多程序員往往會放松警惕。這使得安全問題更隱蔽。如果是開源程序的話那么問題就會在網(wǎng)友面前馬上暴露出來;黑盒的情況下,往往被入侵了還是找不出原因。

結語:實際上在這個框架橫行的年代直接編寫Ajax實現(xiàn)代碼的機會并不多,很多JS框架都集成了AJAX調(diào)用函數(shù),一些服務器端的框架,例如THINKPHP也集成了AJAX。但是,理解一些底層的東西,還是有利于排除BUG,提高AJAX應用的性能的。

【編輯推薦】

  1. Rails 3:提高Ajax應用速度
  2. 基于jQuery與PHP實現(xiàn)Ajax長輪詢(LongPoll)
  3. 從零開始學習jQuery之Ajax快餐
  4. 在AJAX開發(fā)中集成數(shù)據(jù)庫技術
  5. AJAX/PHP/JQuery/CSS設計拖拉式購物車
責任編輯:于鐵 來源: Javascript教程網(wǎng)
相關推薦

2009-12-22 14:46:59

NAT路由器

2023-12-13 15:20:45

數(shù)據(jù)中心云計算人工智能

2010-04-22 12:07:37

Oracle Spat

2015-08-19 15:33:41

布線技術

2011-07-21 15:40:24

iPhone 內(nèi)存管理 對象

2010-11-24 14:12:18

MySQL創(chuàng)建有外鍵的

2011-08-08 15:06:36

布線綜合布線智能家居

2012-07-04 14:40:37

Ajax

2010-08-31 14:33:46

DB2游標

2009-06-10 15:36:25

ubuntu netb開發(fā)過程

2023-08-25 10:49:37

數(shù)據(jù)中心服務器

2010-05-26 17:05:13

SVN提交

2010-07-15 14:47:05

Perl開發(fā)

2020-05-26 16:25:05

云計算云遷移IT

2022-05-05 09:31:34

Go語言漏洞

2009-11-14 09:59:46

2017-05-10 17:00:22

災難恢復云計算數(shù)據(jù)中心

2009-04-23 14:30:19

UML建模

2013-09-29 10:36:08

VMware虛擬化

2020-10-26 14:01:22

Java泛型
點贊
收藏

51CTO技術棧公眾號