提问者:小点点

通过AJAX从传统Domino Web应用程序调用XAgent


我已经创建了一个XAgent,它可以通过window. place正常工作,但是我不能通过AJAX让它工作。这个代理是从弹出窗口div上的删除按钮调用的,所以我宁愿运行我的代理,并在完成后通过javascript关闭我的弹出窗口。

我的XAgent由URL文档调用。$DBPath. value"/xAgent_DeleteDemand.xsp?open

javascript:importPackage(foo);
try {
    var url:java.lang.String = context.getUrl().toString();
    print(url);
    if (param.containsKey("id")) {
        var unid = param.get("id");
    } else {
        throw "No unid given";
    }
    XAgent.deleteDemand(unid);
} catch (e) {
    print(e);
}

我的实际代码在foo包中,但这似乎并不相关,因为我甚至没有打印我的URL。我可以说正在生成和调用的URL使用window. place工作得很好,所以可以肯定问题出在其他地方。

我暗暗怀疑,当从非XPage应用程序通过AJAX调用时,上下文可能没有任何意义,但我不确定。

我不认为我的AJAX代码有什么特别之处,但这里是以防万一。它已经工作了很长时间。

function createAJAXRequest(retrievalURL, responseFunction) {
    if (window.ActiveXObject) {
        AJAXReq = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
        AJAXReq = new XMLHttpRequest();
    }
    showHideIndicator("block")
    var currentTime = new Date()
    AJAXReq.open("GET", retrievalURL + "&z=" + currentTime.getTime());
    AJAXReq.onreadystatechange = eval(responseFunction);
    AJAXReq.send(null);
}

共1个答案

匿名用户

我不确定直接的问题是什么,但作为一些故障排除步骤:

  • 生成的URL只是服务器相关的,而不是在不同的服务器协议组合上,对吗?
  • 单击按钮时,您是否在浏览器的调试控制台上看到任何内容?
  • 浏览器的调试网络面板中是否有请求的条目?