javascript - 如何通过 ioncache 从数据库为标签处理程序分配标签

标签 javascript jquery-plugins tag-handler

我正在使用这个名为 TagHandler 的插件。链接:http://ioncache.github.io/Tag-Handler/ 我可以知道如何从数据库分配标签而不是硬编码到 jquery 吗?例如,分配标签是

$("#array_tag_handler").tagHandler({
    assignedTags: [ 'C', 'Perl', 'PHP' ],
    availableTags: [ 'C', 'C++', 'C#', 'Java', 'Perl', 'PHP', 'Python' ],
    autocomplete: true
});

但我想从 mysql 数据库获取它。

他们只给出了使用 getData 内置函数的可用标签的示例

$("#ajaxget_tag_handler").tagHandler({
    getData: { id: 'user123', type: 'user' },
    getURL: '/ajaxtest/get',
    autocomplete: true
});

我需要 php 示例。我不知道如何检索 JSON 格式的数据。

从网站...“通过为要通过 AJAX 检索的标签提供“getURL”。 使用此方法时,服务器必须提供一个名为“availableTags”的 JSON 格式数组,以及一个名为“signedTags”的附加数组(可选)。

最佳答案

在客户端,您希望像这样加载标签处理程序:

$(document).ready(function()
{
    $("#array_tag_handler").tagHandler({
        dataType: 'json',
        getURL: '/admin/tag/list',
        autocomplete: true
    });

});

这会调用“/admin/tag/list”路由并期望返回 json。 在服务器端,您想要检索标签列表并以 json 格式将它们传回。

$result = getTags();  // Returns eg array('tag1', 'tag2', 'tag3', etc)

然后根据标签处理程序文档使用正确的索引构建数组:

$data = array('availableTags' => $result);

请注意,如果您想预加载一些标签(例如 tag1 和 tag2),则只需修改上面的数组,使其如下所示:

$data = array('availableTags' => $result, 'assignedTags' => array('tag1', 'tag2'));

然后需要对这个数组进行 json 编码,然后再将其返回给客户端:

return json_encode($data);

关于javascript - 如何通过 ioncache 从数据库为标签处理程序分配标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24006723/

相关文章:

javascript - 如何在第一次迭代后停止此电传打字机动画?

jquery-plugins - Blueimp jQuery 文件上传音频/视频预览

java - Android TagHandler 异常

android - 如何在android单个Textview上显示html内容文本之间的水平线?

javascript - 检测 <embed> 标签无法加载视频

javascript - 将路径数组转换为对象数组分组

javascript - D3 v4 - d3.zoom() 防止绑定(bind)某些事件,但在 Window 上除外

javascript - 是否可以迭代数组中的每个项目并输出为 HTML?

javascript - 在 jQuery weekcalendar 插件中为事件设置不同的背景颜色

Android 自定义 QuoteSpan 问题