1. 程式人生 > >利用AJAX讀取本地xml

利用AJAX讀取本地xml

 function getEdiInfo(buttonObj,divId,containerCode){
    var strResult;
    strResult = "app040";
    window.navigate(strResult);
    $("#"+divId).html("<h3>正在獲取H2000資訊......</h3>");

    loadEdiXML();
}

1,MFC裡實現類:class CIPSHtmlView : public CHtmlView
2,重寫虛擬函式:

virtual void OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel);

3,

void CIPSHtmlView::OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel) 
{   

    m_strUrl = lpszURL;
    if(m_strUrl.Right(6) == L"app040")
    {
         //想做的操作
    }
function loadEdiXML(){//kang add   讀本地edi.xml檔案,並顯示
//1,判斷本地是否存在picno_EDI.xml檔案,若存在按鈕變灰不可用並顯示資訊 var ipsXMLStr = document.getElementById("ipsXML").value.trim(); var ipsXMLDom = getXmlFromStr(ipsXMLStr); var buttonObj = $("input[name='getEdiButton']");// buttonObj.attr("disabled",true);//設定按鈕不可見 if(ipsXMLDom === false
){ //buttonObj.disabled = false; buttonObj.removeAttr("disabled"); return; } var xmlDoc; var EdiXMLPath = ipsXMLDom.selectSingleNode("/IDR/@EdiXMLPath").text;//獲得edi.xml檔案的路徑 try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } catch(e) { try //Firefox, Mozilla, Opera, etc. { xmlDoc=document.implementation.createDocument("","",null); } catch(e) { //buttonObj.disabled = false; buttonObj.removeAttr("disabled"); } } if(xmlDoc != null){ //同步方式載入XML資料 xmlDoc.async = false; //根據XML文件名稱裝載 xmlDoc.load(EdiXMLPath); var divId = $("div.ediDiv")[0].id;//選擇器 //buttonObj.disabled = true; displayMain(xmlDoc,divId,buttonObj,false);//顯示資訊 }else{ //2,若不存在,則按鈕可用,使用者可點選獲得edi //buttonObj.disabled = false; // 這種方式失效 buttonObj.removeAttr("disabled");//用這種方式 $("#" + divId).html("<h3>無相關報關單、艙單資訊!</h3>"); return; } }