利用AJAX读取本地xml

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kanghui_898/article/details/53541926
 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;
        }   
}

猜你喜欢

转载自blog.csdn.net/kanghui_898/article/details/53541926
今日推荐