【发布时间】:2012-10-04 04:33:06
【问题描述】:
我一直在尝试使用来自
的 At.js 库为我的应用程序实现@mentionshttps://github.com/ichord/At.js
我在触发 at 功能时遇到了一些问题(由下面代码中的回调触发)。我已经设置了以下咖啡脚本:
$ ->
$("textarea").atWho "@", (query, callback) ->
console.log("@who")
$.ajax
url: "/users/mentions.json"
param: q: query
done: (data) ->
console.log("in callback")
console.log(data)
names = $.parseJSON(data)
console.log(names)
callback names
从 js 和 rails 控制台我可以看到控制器动作被调用,但是没有进行其他调用。
这个库对我来说在静态数据上运行良好,所以我认为回调语法是个问题。有没有人对此有任何指示?
编辑:
我在下面调整了 Nick 的解决方案并更改为使用 get 请求,这对于使用以下修改后的代码从 rails 应用程序查询和返回数据非常有效:
$ ->
$("textarea").atWho "@", (query, callback) ->
console.log("@who")
$.get "/users/mentions.json", q: query, ((result) ->
console.log("in callback")
console.log("result: ")
console.log(result)
names = $.parseJSON(result)
console.log(names)
callback names
), "json"
但是 parseJSON(result) 行仍然存在问题 - 它每次都返回 null。 我尝试将要发送的 json 更改为非常简单的 {"name":"james"} ,但它仍然没有返回任何内容 - 任何人都可以帮助解决这个问题吗?
【问题讨论】:
标签: javascript jquery ruby-on-rails