加载JSON数据而不是将其嵌入页面

时间:2015-08-26 12:00:46

标签: javascript jquery ajax json

我在我的网站上使用Mention.js,当" @"时会填充用户名的下拉列表。输入指定的文本区域。

<textarea id="full"></textarea>

它工作得很好,但这些示例仅显示了如何将JSON数据嵌入到实际页面中,如下所示:

<script type="text/javascript">
    $(document).ready(function(){

        $("#full").mention({
            users: [{
                name: 'Rick Bahner',
                username: 'RickyBahner',
                image: 'http://placekitten.com/25/23'
            }, {
                name: 'Jacob Kelley',
                username: 'jakiestfu',
                image: 'http://placekitten.com/25/22'
            }, {
                name: 'John Doe',
                username: 'HackMurphy',
                image: 'http://placekitten.com/25/21'
            }, {
                name: 'Loud Mouth Burrito',
                username: 'Loudmouthfoods',
                image: 'http://placekitten.com/21/20'
            }]
        });

    });
</script>

我不想嵌入它,我将我的JSON数据存储在一个名为 myresults.json 的单独文件中,我想要加载该文件。

我试过这个但是我不认为我做得对,因为它没有工作。

<script type="text/javascript">
    $(document).ready(function(){
        $("#full").mention({source: 'myresults.json'})
});

修改 这是我最新的电话,感谢Eric:

<script type="text/javascript">
    $(document).ready(function(){
        $.getJSON('myresults.json', function(__data){
    $("#full").mention({source:__data.users})
});
});
</script>

但它仍然没有工作,所以我用嵌入式和JSON加载方法创建了fiddle。也许有人可以解决为什么JSON版本不起作用?

1 个答案:

答案 0 :(得分:3)

您可以这样加载JSON文件:

    $.getJSON('sample.json', function(__data){
        $("#full").mention({source:__data})
    });

编辑以匹配您的文件:

$.getJSON('https://res.cloudinary.com/d3ep/raw/upload/v1440597312/myresults_yod9qs.json', function(__data){
    console.log(__data);
});