Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人在typeahead inputtext中使用过url属性吗?_Url_Xpages_Typeahead - Fatal编程技术网

有人在typeahead inputtext中使用过url属性吗?

有人在typeahead inputtext中使用过url属性吗?,url,xpages,typeahead,Url,Xpages,Typeahead,我正在尝试在inputtext字段中使用提前输入功能。 我希望使用typeahead属性的url参数,而不是使用固定列表或DBColumn来填充值(这对于数千个条目来说是一种缓慢的方式) 到目前为止,我所做的是: <xp:inputText value="#{docEntry.namUsers}" id="namUsers"> <xp:typeAhead mode="external" valueMarkup="false" minChars="3" var="namE

我正在尝试在inputtext字段中使用提前输入功能。 我希望使用typeahead属性的url参数,而不是使用固定列表或DBColumn来填充值(这对于数千个条目来说是一种缓慢的方式)

到目前为止,我所做的是:

<xp:inputText value="#{docEntry.namUsers}" id="namUsers">
    <xp:typeAhead mode="external" valueMarkup="false" minChars="3" var="namEntries" frequency="1" maxValues="10" id="typeAheadNamUsers">
        <xp:this.url><![CDATA[#{javascript:"http://server/databse.nsf/view?ReadViewEntries&OutputFormat=JSON&StartKey=" + getComponent("namUsers").getAttributes().get("value");}]]></xp:this.url>
    </xp:typeAhead>
</xp:inputText>

当输入所需的最小字符时,我可以看到GET请求被触发。这个GET请求返回视图所需的内容

但是我没有找到任何方法来获取返回的信息,以便解析内容并为typeahead元素提供有效的列表


是否有人尝试过使用typeahead元素的url属性?

AFAIK该url中预期的数据需要是“已准备好收集”的,这意味着由分隔符(逗号或换行符)分隔的值列表?ReadViewEntries不提供这种格式,因此您希望使用HTML passthru视图。 我要挑战你的假设。如果用于查找的数据库位于同一台服务器上,是什么让您认为添加HTTP延迟将比@DbColumn快?如果它是一个不同的服务器,这将是一个有趣的测试——此外,在同一个服务器上保持值查找会更好。 另一个问题:在typeahead列表中具有数千个潜在值的用户体验真的是高效、有效和愉快的吗?

您不能以这种方式使用typeahead的url参数。该参数只是用于初始化typeahead小部件的配置参数,不会使用服务器端代码进行更新

如果您在firebug控制台中查看,您可以看到有一个名为$$value的URL参数,它会自动添加到您定义的URL中(包含查找本身的字符)

Typeahead的响应需要是简单的HTML代码:

<ul>
   <li>Result 1</li>
   <li>Result 2</li>
   <li>Result 3</li>
   <li>...</li>
</ul>
然后,您可以将代理的url改为视图:

<xp:typeAhead mode="external" valueMarkup="false" minChars="3"
   frequency="1" maxValues="10" id="typeAheadNamUsers"
   url="http://example.com/YourDB.nsf/RedirectAgent?OpenAgent">
</xp:typeAhead>


Hi stwissel,感谢您的回复。请快速反馈您的问题:@DBLookup在一个16000条目的视图上->10.8秒。相同的视图,但具有?ReadViewEntries->1.2秒。关于用户体验的另一件事是:结果列表将被限制在20个条目上。我在100K Domino目录中使用@DbLookup没有任何问题。您是否尝试了第二次(视图是否已索引)?嗨,Panu Haaramo,使用这种@DBLookup方式,我最终会出现64k错误。正如我已经提到的:与ReadViewEntries相比,它肯定太慢了。我想知道,为什么我不能使用JSON就绪的答案将其作为typeahead功能的值列表传递。来自readViewEntries的JSON根本不是typeahead可以消化的格式。我建议您创建一个视图并将其标记为“视为HTML”,这样您就可以100%控制它的内容renders@PantelisBotsas如果你用20个条目达到64K的限制(我们在SSJS中仍然有这样的限制吗??),那么你的条目将是惊人的大。我只是想知道,你提到的这么少量,怎么可能需要10.8秒。
<xp:typeAhead mode="external" valueMarkup="false" minChars="3"
   frequency="1" maxValues="10" id="typeAheadNamUsers"
   url="http://example.com/YourDB.nsf/RedirectAgent?OpenAgent">
</xp:typeAhead>