Jquery joomla中的引导typeahead不接受源数组

Jquery joomla中的引导typeahead不接受源数组,jquery,joomla1.5,bootstrap-typeahead,Jquery,Joomla1.5,Bootstrap Typeahead,我对Joomla 1.5中的Bootstrap v2.3.1 typeahead有一个问题-只有在输入标记中使用data source='[“…]”方法时,它才能正常工作,但不会接受远程php生成的json编码的mysql查询 以下是我从教程中复制的代码: <input type="text" id="search" data-provide="typeahead"/> <script> $(function(){ $("#appendedInputBut

我对Joomla 1.5中的Bootstrap v2.3.1 typeahead有一个问题-只有在输入标记中使用data source='[“…]”方法时,它才能正常工作,但不会接受远程php生成的json编码的mysql查询

以下是我从教程中复制的代码:

<input type="text" id="search" data-provide="typeahead"/>
<script>    
$(function(){
    $("#appendedInputButton").typeahead({
        source: function(query, process) {
            $.ajax({
                url: 'http://www.mydomain.com/source.php',
                type: 'POST',
                data: {q: query},
                dataType: 'JSON',
                async: true,
                success: function(data) {
                    process(data);
                }
            })
        }
    })
})
</script>
我在点击按钮后使用一个简单的jQuery ajax加载测试了输出,它打印出了数组,但我无法让它与typeahead一起工作。此外,如果我像这样提供数组,typeahead甚至不起作用:

var colors = ["red", "blue", "green", "yellow", "brown", "black"];
$('#search').typeahead({source: colors});

非常感谢您的帮助-我不知道这是Joomla问题、我的代码还是其他问题。

对于任何考虑到这一点的人来说,我无法在我的Joomla 1.5站点中使用引导typeahead,而是使用了typeahead.js,它运行良好>

可能有点晚了,但是: 实际上,它工作得很好(Joomla!3.9.4,Bootstrap 3),您必须实例化Joomla
JResponseJson
类才能获得json编码的数据

因此,不是这个
echo json_encode($array),您应该这样写:

 $data = new JResponseJson($array);
 echo $data;
代码是


正在工作的hellowold组件是:

您确定它应该是一个
POST
请求吗?另外,您是否将内容类型设置为
application/json
,以便浏览器(和jQuery)能够正确猜测数据的类型?我认为,我将问题缩小到多个jQuery/mootools加载。似乎无法解决这个问题,因为joomla需要这些库才能工作,甚至没有任何冲突方法可以解决这个问题。我似乎无法让任何jquery ajax查询正常工作,我仍然在摆弄…:/我不熟悉Joomla或Mootools,但我发现,这可能会帮助你。如果确实尝试返回JSON数据,则必须在将任何输出发送到客户端之前,将返回的内容类型头设置为
application/JSON
 $data = new JResponseJson($array);
 echo $data;