2012-10-16 60 views
4

我必須使用想要包含JSON字符串單PARAM的API:軌,發送JSON PARAMS

def function 
    data = params['data'] 
    # Do thing with the json string data 
    #... More code 
end 

config.rb:

match "/thing" => "controller#function", :via => :post 

我搜索和閱讀文檔,我似乎無法找到如何做到這一點的方法。 我用form_for或form_tag函數搜索,這似乎不可能。 我試過兩種方法使用remote => true,但它沒有做我想做的。

我也試圖做到這一點使用jQuery $就,但它以JSON格式發送參數,而不是一個JSON字符串。

有沒有辦法做到這一點?

謝謝

回答

1

嘗試訪問JSON對象作爲這樣

data = params[:data].first[0] 

的[0]被列入讀取JSON格式的對象的第一個元素,假設它不是嵌套另一個JSON內目的。

0

我認爲Rails的可能自動打開參數轉換成一個散列,因爲它承認它的JSON。你應該可以通過調用to_json來將它變成一個字符串。

0

您仍然可以發送數據作爲JSON字符串:

  • 在你的jQuery AJAX的設置,設置的contentType選項設置爲 「text/html的」