2012-10-04 108 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