使用AJAX要注意引號,否則IE6不會輕易答應你的請求

來源:互聯網
上載者:User

      在現在正在做的流程編排架構中有些業務需要用到ajax技術來做非同步通訊,這塊的業務主要是在普元的活動屬性頁面上添加業務功能的擴充頁,這塊的操作普元的API中講解的非常詳細,在這就不多做介紹,這裡主要是說說在這塊操作中遇到的問題。
 
       因為要非同步來做儲存業務功能,所以要用到ajax,而我們知道ajax的核心就是
     
       XMLHttpRequest,而要用到這個核心的對象,我們就要建立這個對象,這個對象的建立是區分瀏覽器的,主要還是在IE瀏覽器中有所不同。而這塊出現的問題也是因為是IE瀏覽器。
 
       建立xmlHttpRequest對象的代碼應該是這樣的:
 
[javascript] 
function createXMLHttpRequest(){ 
 
                            //表示當前瀏覽器不是ie,如ns、firefox 
 
                   if(window.XMLHttpRequest){ 
 
                            xmlHttp=newXMLHttpRequest(); 
 
                   }elseif(window.ActiveXObject){ 
 
                            try{ 
 
                                     xmlHttp=newActiveXObject("Msxml2.XMLHTTP");  
 
}catch(e){ 
 
         try{ 
 
                   xmlHttp=newActiveXObject("Microsoft.XMLHTTP"); 
 
}catch(e){ 
 
         alert(“您的瀏覽器不支援ajax!”); 
 

 

 
                              
 
                   } 
 

 
       這裡如果不是ie瀏覽器就可以直接new出來,但是如果是ie瀏覽器的話,就要分情況了,如果是6.0+的話就是用第二種方法也就是msxml2的,如果是5.5+的話就用microsoft的。
 
       但是我們目前做開發的時候基本上都是ie6.0以上的,所以我們經常寫的話就把中間的那個省去直接用Microsoft的建立。
 
       然而我們遇到的問題就是在建立的時候xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");寫成了xmlHttp=new ActiveXObject(Microsoft.XMLHTTP);這樣的在其他瀏覽器上都執行成功,但是到了IE上就出現問題了,而且IE7-9都沒有問題,僅僅是IE6出現了問題,因為去客戶那裡部署,客戶用的是IE6,由於疏忽引號沒有了,始終執行不成功。通過檢測發現是因為少了引號。一時的疏忽會浪費好長時間的調試。
 
       所以寫這篇部落格分享給大家,以後這樣的問題希望大家注意。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.