【问题标题】:jQuery.tokenInput.js script in JavaScript not workingJavaScript 中的 jQuery.tokenInput.js 脚本不起作用
【发布时间】:2014-06-29 05:07:41
【问题描述】:

我正在制作一个完全使用 JavaScript(前端和后端)的应用程序。所以现在我正在使用jQuery.tokenInput.js,我在插件识别脚本时遇到了一些问题。

首先,它没有记录任何错误消息,所以我什至不知道这是否是我的问题。

我基本上在应用程序/autocomplete/tags 中创建了一个路由,它也接受q 参数。

所以当我输入类似 /autocomplete/tags?q=r 的内容时,我会在页面上得到以下结果

[{"tag_name":"Android","_id":"ooJaBpZ6MShmzbshY"},{"tag_name":"RPG","_id":"KpvAqCRqKKP5rbGLD"}]

所以现在当我像这样初始化插件时

$('#tag_input').tokenInput("/autocomplete/tags", {
            theme: "facebook",
            propertyToSearch: "tag_name",
            tokenLimit: 5
        });

它改变了输入和一切。我什至尝试过使用常量数据,它似乎可以工作,但由于某种原因不能使用脚本。

有什么方法可以调试/排除故障?我可以以某种方式打开此插件的日志记录吗?我实际上没有看到我这样做的方式有任何问题。我查看了演示,它们以完全相同的方式返回 JSON。

如果您有任何想法,那就太好了!

【问题讨论】:

  • 确保您的脚本返回正确的 JSON 标头类型以及您的数据。当您说它似乎适用于恒定数据时-您是指完全相同的数据集吗?已知没有 id 字段会导致问题:stackoverflow.com/questions/20516387/…
  • 没有 id,返回对象时它只会有一个“未定义”的 id。这不是太大的问题。我来看看 JSON 标头。
  • 哦,你得到了什么?你能澄清一下目前什么是有效的,什么是无效的吗?
  • 另外,您是否在与服务页面相同的机器上运行您的 JS?如果它是跨域的,那将阻止它工作。
  • 没有错误,我回家后会检查返回的标头类型。我目前在工作。感谢所有帮助:)

标签: javascript jquery meteor jquery-tokeninput


【解决方案1】:

从外部服务返回的 JSON 必须在 application/json 标头类型下返回 - 我们发现此服务返回的是 text/html

有关如何使用 Meteor 指定内容类型的信息可以在 on this question 找到。

【讨论】:

猜你喜欢
  • 2011-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
  • 2020-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多