使用原始的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
}
}