2010-07-26 32 views
0

我正在使用plupload來執行多部分文件上傳。成功時,它返回存儲的服務器數據。但我收到一個字符串,而不是包含我所有屬性的對象。爲什麼我的json呈現爲字符串?我如何解析字符串內容?

這是我的控制器操作:

def upload 
     @user = User.create! :name => params[:photo_name], :swf_uploaded_data => params[:photo] 
     respond_to do |format| 
      format.js { render :json => @user) } 
     end 
    end 

在我的JavaScript,我有一個返回服務器響應的功能,要點這就是:

function(serverResponse) { 
    alert(serverResponse); 
    }); 

的serverResponse的輸出情況成爲一個字符串! (例:

"{'user': {'name':'photo','link':'http://www.google.com/favicon.ico'}}"

現在我只是不能只是做serverResponse.user.link,因爲它不是一個序列化輸出訪問的鏈接。我如何解決這個問題?

回答

2

解析JSON。有關比eval更安全的方法,請參閱http://www.json.org/js.html

值得注意的是var finalObject = JSON.parse(jsonString);

+0

很酷。謝謝你的回答。 :) – 2010-07-26 05:12:03

+0

我剛剛發現,在jquery中存在一個:$ .parseJSON。更適合跨瀏覽器JSON解析。意識到Mobile Safari不支持JSON.parse。 – 2010-07-26 10:48:56

相關問題