1

我正在尝试在元素上开发一个“自动完成”功能,该功能将从远程数据库中获取数据(使用简单的 HTTP GET 请求,该请求将返回 JSON)。

在工作流表单中,在share-conifg-custom.xml我提供了控制模板:

<control template="/com/test/mytest.ftl"/>

这是mytest.ftl


    <input type="text" name="search" id="search" placeholder="Type Something" list="searchresults" autocomplete="off">
    <datalist id="searchresults"></datalist>

    <script type="text/javascript">
        myHttp = new XMLHttpRequest();
        url='https://jsonplaceholder.typicode.com/posts';
        myHttp.open("GET", url);
        myHttp.send();
        myHttp.onreadystatechange = (e) => {
            var arr = JSON.parse(myHttp.responseText);

            for (var i =0; i < arr.length; i++) {
                var option = document.createElement("OPTION");
                option.setAttribute("value", arr[i]["title"]);
                document.getElementById("searchresults").appendChild(option);
            }
        }
    </script>

问题是它不发送任何请求。我在这里想念什么?

据我了解,Freemarker 模板应该将其转换为 HTML 代码,并且<script>标签应该在我的浏览器上执行。

4

0 回答 0