ajax執行domino代理並返回資料(Get方法)

來源:互聯網
上載者:User

使用原始的ajax來調用domino的代理,就是一個最簡單的ajax,當然用jQuery也是一樣。

var XMLRole=new XMLHttpObject("GET","/檔案名稱/資料庫名.nsf/代理名稱?openagent&key="+Math.random(),false,'') ; //如果不寫的話一個代理在一次session中就執行一次,給一個隨機數,用於避開緩衝問題,也可以用時間戳記
    XMLRole.sendData();  
    var XmlResponse = XMLRole.getText();    //XmlResponse 為後台代理print出來的資料


function XMLHttpObject(method,url,Syne,Channel){
/* 
  函數說明:通用操作XMLHTTPRequest對象,並對其進行封裝
  函數調用:格式:var XMLUserSetting=new XMLHttpObject("GET",url,false,"個人工作台")
    XMLUserSetting.sendData();
            擷取 XML 文檔的常值內容:XMLUserSetting.getText();
  函數參數:method-發送請求的方式[POST/GET/PUT/PROPFIND]; url-發送請求的Url;
 Syne-同步或非同步方式[True/False];Channel-目前通道名稱,沒有為空白;
 
*/
var XMLHttp=null
var o=this
this.url=url
this.Syne=Syne
this.method=method.toUpperCase(); //強行將method轉為大寫
this.sendData = function()
{
   
    // 建立一個XMLHTTPRequest對象
    if (window.XMLHttpRequest) { // 判斷是否把XMLHTTPRequest實現為一個本地javascript對象
       XMLHttp = new XMLHttpRequest(); // 建立XMLHTTPRequest的一個執行個體(本地javascript對象)
    }else if (window.ActiveXObject) { // 判斷是否支援ActiveX控制項
       XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");// 通過執行個體化ActiveXObject的一個新執行個體來建立XMLHTTPRequest對象
    }
    with(XMLHttp){
     open("GET", this.url, this.Syne);
     onreadystatechange = o.ProcessRequest;
     send(null);
    }
  }


this.ProcessRequest=function()
{
    if (XMLHttp.readyState == 4){ // 判斷對象狀態
        if (XMLHttp.status == 200){ // 資訊已經成功返回,開始處理資訊
//Xml載入成功後的操作[此方法暫沒用到]
        }
    }
}


this.getText=function()
{
    if (XMLHttp==null) {return "您所請求的頁面有異常,請重試。"}
    if (XMLHttp.readyState == 4){ // 判斷對象狀態
        if (XMLHttp.status == 200){ // 資訊已經成功返回,開始處理資訊
//分解取出<body></body>的內容
    var XmlResText = XMLHttp.responseText;
  var l = XmlResText.indexOf("<body");
  l = XmlResText.indexOf(">",l);
  var r = XmlResText.indexOf("</body>",l);
  XmlResText = XmlResText.substring(l+2,r-1);

return XmlResText
        }
   
}
    return XMLHttp.readyState
  }
}

相關文章

聯繫我們

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