使用触发器计算xQuery,并在eXistDB的HTML页面内使用return
我想使用按钮/链接/任何东西从我的eXist Webapp调用xQuery函数,并使用返回值显示引导警报。所以包括一个使用触发器计算xQuery,并在eXistDB的HTML页面内使用return,xquery,exist-db,Xquery,Exist Db,我想使用按钮/链接/任何东西从我的eXist Webapp调用xQuery函数,并使用返回值显示引导警报。所以包括一个 执行xQuery 在我的html中,如果单击它,则进行评估 let $name := "Peter" return <div class="alert alert-success" role="alert">Hi {$name}</div> let$name:=“Peter” 返回Hi{$name} (事实上,我想要比这更复杂的东西,但你明白了……
执行xQuery
在我的html中,如果单击它,则进行评估
let $name := "Peter"
return <div class="alert alert-success" role="alert">Hi {$name}</div>
let$name:=“Peter”
返回Hi{$name}
(事实上,我想要比这更复杂的东西,但你明白了……)
返回
你好,彼得
在我的页面里面。这可能吗?如果可能,怎么可能
在这里,使用模板系统对我没有帮助,只需链接到数据库中的xQuery即可执行查询,但会重定向到显示结果的另一个页面。我可以使用AJAX评估xQuery并修改当前DOM吗
谢谢 出于完整性和未来参考的原因,我将在此处发布此文件的MWE:
runxquery.js
,并在page.html
中引用它:声明命名空间输出=”http://www.w3.org/2010/xslt-xquery-serialization";
声明选项输出:方法“html”;
声明选项输出:媒体类型“application/html”;
let$text:=“这是警报文本”
返回
{$text}
有关此操作的示例,请参阅。源代码位于。谢谢,但我不明白结果是如何写入输出的
div中的,或者按钮是如何与查询连接的。。。此外,我希望在我的模块中有一个固定的查询,通过按下按钮来调用它。“运行”按钮向eXist的REST服务器提交一个HTTP POST请求,其中包含要在请求主体中执行的查询。要调用固定查询,只需向数据库中存储查询的URL提交HTTP GET请求。剩下的只是javascript的问题——这不是一个eXist或XQuery特定的问题。但我链接到的演示应用程序确实在实践中证明了这一点;看…啊!我现在觉得有点傻。我以为这是纯Xquery,谢谢你的链接,现在我知道怎么做了。
$(document).ready(function() {
$(".run").click(function(ev) {
ev.preventDefault();
file = this.id;
var output = $(this).parent().parent().find(".output");
var indicator = $(this).parent().parent().find(".load-indicator");
function run() {
indicator.show();
output.hide();
$.ajax({
url: "/exist/rest/db/apps/yourapp/" + file,
type: "GET",
success: function(result) {
indicator.hide();
output.html(result);
output.slideDown(600);
}
});
}
if (output.is(":empty")) {
run();
} else {
output.slideUp(800, function() {
output.empty();
run();
});
}
});
});
declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:method "html";
declare option output:media-type "application/html";
let $text := "This is the alert text"
return
<div class="alert alert-success alert-dismissible" data-dismiss="alert" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"/>
{$text}
</div>