0

我在 SSJS 库中有一个函数。我想在库中获得客户端警报。我试过的没有奏效。我想我错过了什么。:(

function docAlive()
{
    try 
    {
        var otherDoc:NotesDocument= null;
        if (funcDoc.getItemValueString("DocUNID")!="")
        {
            var otherDoc:NotesDocument = dbKontak.getDocumentByUNID(funcDoc.getItemValueString("DocUNID"))
            if (otherDoc==null)
            {
              hataKod = "10001";
              hataMsg = "There is no document :( Created One";
              print (hataKod +": "+hataMsg);
              view.postScript("alert('"+hataKod + " - " +hataMsg+"');");
            }
        }
        return otherDoc;
    }
    catch (e) 
    {
        e.toString();
    }    
}
4

1 回答 1

1

view.postScript()将触发客户端警报,但正如 Tim Tripcony 所提到的,并非在所有情况下都如此。并且只有在函数和部分刷新的任何其他代码完成才会触发警报。此时,触发(客户端)JavaScript 警报的 HTML 将被发送回浏览器,并且浏览器将对其进行操作。

如果您想将错误返回给浏览器,我强烈推荐 XPages OpenLog Logger(不仅仅是因为我在 OpenNTF 上贡献并支持它)。openLogBean.addError(e)会将错误记录到 OpenLog 并将错误消息发送回浏览器。

消息使用 传递到服务器facesMessage.addMessage(),如此处所述http://www.intec.co.uk/returning-error-messages-from-ssjs-through-the-facescontext/。我相信还有其他选项可以管理不同的消息级别(例如警告、确认)。FacesMessage是一个标准的 Java(在本例中为 JSF)构造,因此 Web 上的文档也适用于 XPage。

于 2016-04-14T07:46:17.227 回答