我已经创建了一个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);
}
我不确定直接的问题是什么,但作为一些故障排除步骤: