我一直在尝试使用
中的At.js库为我的应用程序实现@mentionshttps://github.com/ichord/At.js
我遇到了一些触发at功能的问题(由下面代码中的回调触发)。我已经设置了以下coffeescript:
$ ->
$("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”}并且它仍然没有返回任何内容 - 任何人都可以帮助解决此问题吗?