2012-10-04 55 views
2

我一直在试图推行使用At.js库我的应用程序@mentions @mentions从导轨 - 使用at.js

https://github.com/ichord/At.js

我有一些问题,在功能触发(由下面代码中的回调触发)。我已经安装了以下的CoffeeScript:

$ -> 
    $("textarea").atWho "@", (query, callback) -> 
    console.log("@who") 
    $.ajax 
     url: "https://stackoverflow.com/users/mentions.json" 
     param: q: query 
     done: (data) -> 
     console.log("in callback") 
     console.log(data) 
     names = $.parseJSON(data) 
     console.log(names) 
     callback names 

从js和导轨控制台我可以看到,控制器动作获取调用,但是没有其他的呼叫制成。

这个库一直在静态数据工作正常,所以我认为回调语法是一个问题。有没有人有这个指针?

编辑:

我已经适应尼克的解决方案如下,并改为使用GET请求,该工作正常查询和使用以下修改后的代码从Rails应用程序返回的数据:

$ -> 
    $("textarea").atWho "@", (query, callback) -> 
    console.log("@who") 
    $.get "https://stackoverflow.com/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。 我试过改变我发送给非常简单的{“name”:“james”}的json,它仍然没有返回任何东西 - 任何人都可以帮助解决这个问题吗?

回答

3

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

+0

感谢尼克 - 这似乎已经解决了这个问题。我有另一个问题,我已经编辑上面的问题来显示..任何更多的意见,将不胜感激。 – jmc

+0

我不认为你需要解析JSON。你的ajax调用已经做到了。尝试'名称=结果'而不是'名称= $ .parseJSON(结果)' –

+0

嗨尼克 - 仍然没有运气。似乎我可能会做其他的事情...... – jmc