Javascript Rails-@提到使用at.js

Javascript Rails-@提到使用at.js,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我一直在尝试使用来自的At.js库为我的应用程序实现@提及 我在触发at功能时遇到了一些问题(由下面代码中的回调触发)。我已设置以下咖啡脚本: $ -> $("textarea").atWho "@", (query, callback) -> console.log("@who") $.ajax url: "/users/mentions.json" param: q: query done: (data) ->

我一直在尝试使用来自的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(结果)行仍然存在一个问题——它每次都返回null。
我已经尝试将发送的json更改为非常简单的{“name”:“james”},但它仍然没有返回任何内容-有人可以帮助解决这个问题吗?

尝试将行
param:q:data
更改为
data:q:data
。函数不支持传递
param
选项。

谢谢Nick-这似乎解决了这个问题。我还有一个问题,我编辑了上面的问题以显示。。如果您能提供更多建议,我们将不胜感激。我认为您根本不需要解析JSON。您的ajax调用已经做到了这一点。尝试
names=result
而不是
names=$.parseJSON(result)
根据上述建议,我得到一个错误对象#没有方法“splice”