我一直在尝试使用来自的 At.js 库为我的应用程序实现@mentions
https://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"} 并且它仍然没有返回任何内容 - 任何人都可以帮助解决这个问题吗?