Javascript Rails-@提到使用at.js
我一直在尝试使用来自的At.js库为我的应用程序实现@提及 我在触发at功能时遇到了一些问题(由下面代码中的回调触发)。我已设置以下咖啡脚本: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) ->
$ ->
$("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”