2011-10-11 77 views
0

在Rails應用程序,我想我如何解析返回的數據獲取使用的Ajax/jQuery的,我得到正確的數據,但問題幾條記錄,並呈現爲HTML?通過AJAX呈現從軌控制器返回的數據

我的js函數

$.ajax({ 
     url: "https://stackoverflow.com/questions/retrieve_function", 
     dataType:'json', 
     data: { 
      'obsolete': 1 
    }, 
    success: function(data){ 
     $.each(data, function(key, value) { 
      alert(key + ", " + $.param(value)); 
     }); 

    }, 
    error: function(){ 
     alert('error'); 
    }, 
    type: 'GET' 
}); 

我控制器的方法:

def retrieve_function 
obsolete = params[:obsolete] 
@values = values.find(:all, :conditions => ["obsolete = ?", obsolete]) 
    respond_to do |format| 
    format.html 
    format.json { render :json => @values } 
    end 
end 

使用$ .PARAM目前,以檢查是否我得到正確的價值觀我,任何幫助,將不勝感激謝謝:)

更新

的格式返回

"[[ 
    {\"question\":{\"created_at\":\"2011-09-26T12:56:41Z\",\"choicea\":\"dg<br>\",\"qtype\":\"multiple\",\"title\":\"dfgdfg<br>\",\"choiceb\":\"dg<br>\",\"updated_at\":\"2011-10-10T14:41:52Z\",\"choicec\":\"dfg<br>\",\"choiced\":\"dg<br>\",\"id\":50,\"hint\":\"dg<br>\",\"obsolete\":1,\"correctans\":\"C\"}} 

]]" 

回答

1

首先,你的json格式應該只有一個括號,你必須改變你的服務器代碼。然後你可以使用此功能從json獲得你的值

$.each(data,function(key,value){ 
    alert(key+" - "+value.question.title + " - "+value.question.created_at+" ...") 
}) 
$.each(data,function(key,value){ 
    alert(key+" - "+value.question.title + " - "+value.question.created_at+" ...") 
}) 
+0

實際上甚至對Sedat感到困惑,讓我檢查併發布格式。 – abhijit

+0

我在等你的格式。也許你可以在你的成功方法中使用這個:alert(JSON.stringify(data))來學習你從服務器返回的格式 –

+0

我已經發布了格式,我需要json2插件爲stringify吧? – abhijit

相關問題