2015-10-26 50 views
0

我有一個Rails應用程序在那裏我有一個控制器返回JSON數據:故障調試的getJSON呼叫

respond_to do |format| 
    format.html { render :html => data } 
    format.json { render :json => data.to_json } 
end 

如果我通過瀏覽器一切都很好加載此。

我有一個簡單的表單,我試圖驗證從JSON查找輸入的數據。現在我堅持讓JSON調用工作。

這裏是我的JS(咖啡腳本):

$(document).ready -> 
    $('#validate-data').click -> 
    alert "hello!" 
    $.getJSON '/mycontroller/data/myparameter', (data) -> 
     obj = data 
     msg = [] 
     for i of obj 
     msg.push i + ' = ' + obj[i] 
     alert msg.join('\n') 
     return 
    return 
    return 

當我點擊我的驗證按鈕,我有點暫停後的hello!彈出然後我得到一個彈出與0 = [object Object]

我的HTTP調用結果數據是這樣的:

[ { "query": "myparameter", "response": { "status": "ok", "err": [], etc... 

我得到的印象是,之後的getJSON調用數據進行分析,你可能只需要調用alert data.response.status,你會得到一個彈出"ok"

我懷疑我錯過了一些明顯或微不足道的東西,或者我根本就沒有把握。

+0

看來你正在迭代數據錯誤。你想要檢索哪部分數據? –

+0

我補充說,從我看到的另一個帖子循環嘗試,並確認我實際上從我的JSON請求中獲取數據。例如,我試圖獲取「狀態」:「ok」來顯示。我可以強制結果爲「狀態」:「失敗」以確認它正在工作。 –

+0

那你現在有什麼問題? –

回答

1

我可以從你提到的問題data看到,你在數組中有一個散列。

[ { "query": "myparameter", "response": { "status": "ok", "err": [ 

您正在訪問它錯誤,這就是爲什麼你沒有得到你想要的輸出。您必須執行data[0].response.status,這是您要訪問的結果,如您在comment中所述。