0

我正在使用jQuery TextExt 插件autocomplete并且使用它的示例 json url(即 data.json)没有问题。但是当我使用自己的 url 时,如下所示:

$('#textarea').textext({
    plugins : 'autocomplete filter tags ajax',
    ajax : {
        url :'/users/userApi.do?id=10&scopeType=all&username=user@this.com&password=pass',
        dataType : 'json',
        cacheResults : true
    }
});

这没用!!

从这个 url 返回的数据不是预先填充的,也就是说,它根据 id 和 scopeType 填充数据并返回正确的 JSON 格式。(当我在浏览器上自己尝试并运行时,我可以在屏幕上看到正确的结果)。

在此示例中是否应始终预先填充 JSON 数据?

我没有使用自动完成的经验,所以请在这里帮助我,或者如果有更好的方法可以做到这一点,如果你能分享的话会很棒。

4

2 回答 2

0

尝试取出 cacheResults 选项并确保返回 JSON 格式的结果数组。cacheResults 对我不起作用,因为我的数据是动态的。

示例我在下面工作:

$('#marketingkeywords')
    .textext({
        plugins : 'autocomplete tags ajax',
        ajax : {
            url : '/ajax/getkeywords.php',
            dataType : 'json',
            cacheResults : false
        },
        autocomplete : {
            enabled : true,
    dropdown : {
                position : 'above',
                maxHeight : '60px'
            }
        }
    })
;

还要确保您的 URL 使用 Chrome 中的网络面板(响应选项卡)之类的东西返回数据。 https://developers.google.com/chrome-developer-tools/docs/network

于 2013-03-21T17:03:33.320 回答
0

我认为你犯了一些愚蠢的错误,包括像miss plugin js这样的文件尝试将插件ajax文件添加为

<script src="js/textext.core.js" type="text/javascript" charset="utf-8"></script> 
<script src="js/textext.plugin.autocomplete.js" type="text/javascript" charset="utf-8"></script> 
<script src="js/textext.plugin.suggestions.js" type="text/javascript" charset="utf-8"></script>
<script src="js/textext.plugin.ajax.js" type="text/javascript" charset="utf-8"></script>

然后像上面那样尝试

于 2014-12-26T11:50:26.377 回答