Javascript XWiki请求处理(如果可能,不使用表单)

Javascript XWiki请求处理(如果可能,不使用表单),javascript,xmlhttprequest,request,xwiki,Javascript,Xmlhttprequest,Request,Xwiki,在XWiki上处理请求是否可以采用其他方式,而不仅仅是提交HTML表单?我需要使用XMLHttpRequest,但是$request 根本不响应请求 JavaScript代码 函数请求句柄(msg,subc){ var recipientName=recipientsArr.pop()[0]; req=新的XMLHttpRequest(); req.onreadystatechange=函数(){ 如果(req.readyState==4){ 如果(请求状态==200){ console.log

在XWiki上处理请求是否可以采用其他方式,而不仅仅是提交HTML表单?我需要使用XMLHttpRequest,但是
$request
根本不响应请求

JavaScript代码
函数请求句柄(msg,subc){
var recipientName=recipientsArr.pop()[0];
req=新的XMLHttpRequest();
req.onreadystatechange=函数(){
如果(req.readyState==4){
如果(请求状态==200){
console.log('req-ok');
var mailStatusTmp=“”+接收方名称+”;
$('mailStatusWrapper').append(mailStatusTmp);
如果(收件人R.length>0){
requestHandle(msg,subc);//为下一个收件人调用requestHandle()
}否则{
返回;
}
}否则{
console.log('req err');
var mailStatusTmp=“”+接收方名称+”;
$('mailStatusWrapper').append(mailStatusTmp);
如果(收件人R.length>0){
requestHandle(msg,subc);//为下一个收件人调用requestHandle()
}否则{
返回;
}
}
}
};
请求打开(“POST”https://wiki.intra.tieto.com/xwiki/bin/view/Sandbox/TestPage1“,对);
请求发送(“msg=“+msg+”&subc=“+subc+”&recipientName=“+recipientName”);
}

我想使用XMLHttpRequest,因为页面将向多个接收者发送数据,我需要检查每个请求的状态。

如果发出请求的页面与XWiki实例不在同一域中,那么您可能必须配置目标域以接受请求。对于XWiki来说,这并不容易,因为没有响应
选项
请求的机制,但是如果您使用的是前端,例如或,或者在servlet容器的配置中,例如在或中,则很容易进行配置。

XWiki enterprise(带安装程序)似乎与jetty一起提供,我应该在jetty\contexts\下修改web.xml以允许跨源请求,还是在xwiki\web-INF下修改web.xml,以及…我应该如何修改?
function requestHandle(msg, subj) {
    var recipientName = recipientsArr.pop()[0];

    req = new XMLHttpRequest();

    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.status == 200) {
                console.log('req ok');

                var mailStatusTmp = "<div class=\"mailStatus\">" + recipientName + " <span class=\"glyphicon glyphicon-ok\"/></div>";
                $('#mailStatusWrapper').append(mailStatusTmp);

                if (recipientsArr.length > 0) {
                    requestHandle(msg, subj); // call requestHandle() for next recipient
                } else {
                    return;
                }
            } else {
                console.log('req err');

                var mailStatusTmp = "<div class=\"mailStatus\">" + recipientName + " <span class=\"glyphicon glyphicon-remove\"/></div>";
                $('#mailStatusWrapper').append(mailStatusTmp);

                if (recipientsArr.length > 0) {
                    requestHandle(msg, subj); // call requestHandle() for next recipient
                } else {
                    return;
                }
            }
        }
    };

    req.open("POST", "https://wiki.intra.tieto.com/xwiki/bin/view/Sandbox/TestPage1", true);
    req.send("msg=" + msg + "&subj=" + subj + "&recipientName=" + recipientName);
}