校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Ajax的小貼士使用小結(jié)

Ajax的小貼士使用小結(jié)

熱門(mén)標(biāo)簽:遼寧銀行智能外呼系統(tǒng) 許昌智能電銷(xiāo)機(jī)器人公司 澳大利亞城市地圖標(biāo)注 海南銀行智能外呼系統(tǒng)商家 遼寧正規(guī)電銷(xiāo)機(jī)器人 上海浦東騰訊地圖標(biāo)注位置 辰溪地圖標(biāo)注 姜堰電銷(xiāo)機(jī)器人 電銷(xiāo)機(jī)器人違法了嗎
在使用Ajax過(guò)程中,有時(shí)候總會(huì)遇到一些難題,瀏覽器兼容、編碼、IE下的特殊處理等等,偶爾會(huì)搞的人頭昏腦脹哭笑不得,這里列一些小貼士,或許有些用。 

使用Javascript庫(kù) 
       Ajax的流行和巨大威力,讓我們重新審視了Javascript的開(kāi)發(fā),也直接促使各種庫(kù)的出現(xiàn)。對(duì)于普通的開(kāi)發(fā)者,使用一些適合自己的Javascript庫(kù)不僅可以避免Ajax應(yīng)用上的瀏覽器兼容等問(wèn)題,也使其開(kāi)發(fā)更加的穩(wěn)定和高效。這里列一些我知曉的輕量級(jí)的Javascript庫(kù): 
1 YUI:YAHOO出品,組件豐富強(qiáng)大健壯穩(wěn)定,是團(tuán)隊(duì)協(xié)作開(kāi)發(fā)的首選。 
2 JQuery:靈活、高效,其基于CSS3 和XPath的選擇器語(yǔ)法引擎非常的強(qiáng)大和完整。 
3 Prototype:是一個(gè)非常優(yōu)雅的Javascript庫(kù),最經(jīng)典的莫過(guò)于$符號(hào)了,DWR,JQuery都被它吸引了。在它基礎(chǔ)上出現(xiàn)了script.aculo.us。 
4 Mootools:核心語(yǔ)法和Prototype比較類(lèi)似,但是用過(guò)之后才知道什么叫簡(jiǎn)單輕巧和短小精悍。 

編碼問(wèn)題 
       通過(guò)XMLHttpRequest獲取的數(shù)據(jù),默認(rèn)的字符編碼是UTF-8,如果前端頁(yè)面是GB2312或者其它編碼,顯示獲取的數(shù)據(jù)就是亂碼。通過(guò)XMLHTTPRequest,POST的數(shù)據(jù)也是UTF-8編碼,如果后臺(tái)是GB2312或者其他編碼也會(huì)出現(xiàn)亂碼。解決方法: 
1 統(tǒng)一到UTF-8。這也是國(guó)際化的必然趨勢(shì)。 
2 輸出通過(guò)XMLHttpRequest獲取的文本文本時(shí),在headers中增加文本聲明(直接HTML聲明沒(méi)有作用)。如: 
PHP:header('Content-Type:text/html;charset=GB2312'); 
ASP:Response.Charset = "GB2312" 
JSP:response.setHeader("Charset","GB2312"); 
3 WWW服務(wù)器上強(qiáng)制聲明。比如:apache下的配置: 
AddDefaultCharset GB2312
        這種情況主要是應(yīng)對(duì)通過(guò)XMLHttpRequest訪問(wèn)的文件是靜態(tài)文件,無(wú)法聲明headers的情況下。 
靜態(tài)頁(yè)面一般都會(huì)經(jīng)過(guò)Apache的deflate或gzip壓縮,此時(shí)在上面情況下IE中,首次通過(guò)XMLhttpRequest獲得的數(shù)據(jù)可以正常顯示,但再獲取數(shù)據(jù)顯示時(shí)出現(xiàn)亂碼,這次因?yàn)樵俅潍@取的數(shù)據(jù)來(lái)自緩存,可能由于瀏覽器解壓縮的問(wèn)題導(dǎo)致Apache設(shè)置的默認(rèn)編碼聲明丟失。由于這種情況下一般是純文本,可能還無(wú)法禁止緩存,可以設(shè)置XMLhttpRequest訪問(wèn)的文本文件不壓縮來(lái)解決這個(gè)問(wèn)題。 

4 非UTF-8頁(yè)面通過(guò)XMLHttpRequest獲取的文本文本輸出前字符轉(zhuǎn)碼成unicode,或者編碼直接是UTF-8,可以正常顯示。如實(shí)例所示。

IE下的緩存問(wèn)題 
由于IE的緩存處理機(jī)制問(wèn)題,每次通過(guò)XMLHttpRequest訪問(wèn)動(dòng)態(tài)頁(yè)面返回的總是首次訪問(wèn)的內(nèi)容,解決方法有: 

1 客戶端通過(guò)添加隨機(jī)字符串解決。如: 
復(fù)制代碼 代碼如下:

var url = 'http://dancewithnet.com/';  
url += '?temp=' + new Date().getTime();  
url += '?temp=' + Math.random(); 

2 在HTTP headers禁止緩存。如:
HTTP: 
復(fù)制代碼 代碼如下:

meta http-equiv="pragma" content="no-cache" />  
meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />  
meta http-equiv="expires" content="Thu, 01 Jan 1970 00:00:01 GMT" />  
meta http-equiv="expires" content="0" />  

PHP: 
復(fù)制代碼 代碼如下:

header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");  
header("Cache-Control: no-cache, must-revalidate");  
header("Pragma: no-cache");  

ASP: 
復(fù)制代碼 代碼如下:

Response.expires=0  
Response.addHeader("pragma","no-cache")  
Response.addHeader("Cache-Control","no-cache, must-revalidate")  

JSP: 
復(fù)制代碼 代碼如下:

response.addHeader("Cache-Control", "no-cache");  
response.addHeader("Expires", "Thu, 01 Jan 1970 00:00:01 GMT"); 

IE下的reponseXML問(wèn)題 
使用responseXML時(shí),IE下只能接受.xml為后綴的XML文件,如果不能以.xml文件為結(jié)尾的,則需要如下處理: 
1 在服務(wù)器端聲明是xml文件類(lèi)型。如: 
PHP:header("Content-Type:text/xml;charset=utf-8"); 
ASP:Response.ContentType = "text/xml"; 
JSP:response.setHeader("ContentType","text/xml"); 
2 利用responseText獲取,然后封裝成XML。 
3 在AJAX應(yīng)用上,JSON和JsonML是XML非常好的替代品。

標(biāo)簽:威海 崇左 撫州 伊春 西藏 銅川 晉城 深圳

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ajax的小貼士使用小結(jié)》,本文關(guān)鍵詞  Ajax,的,小貼,士,使用,小結(jié),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ajax的小貼士使用小結(jié)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Ajax的小貼士使用小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 耒阳市| 蕲春县| 绥化市| 白沙| 称多县| 宜章县| 镇雄县| 全州县| 朝阳市| 从江县| 新民市| 庄浪县| 丰都县| 青海省| 巴南区| 巴彦县| 华坪县| 福州市| 乐安县| 安龙县| 沾化县| 鲁甸县| 淮滨县| 金溪县| 广宗县| 南充市| 金华市| 敦化市| 瑞金市| 深水埗区| 志丹县| 池州市| 故城县| 澎湖县| 吴桥县| 侯马市| 台安县| 区。| 东兴市| 玛曲县| 彭水|