簡體   English   中英

將對象數組從js傳遞給rails

[英]passing array of objects from js to rails

我試圖將一個對象數組從js傳遞給rails

data.test = [{test: 'asdas'}]

$.ajax({
  url: 'evaluate.json',
  data: data,
  success: function(data){
  },
  dataType : "json"
});

軌道

def evaluate
   logger.info("#{params.test}")
end

這里的記錄器語句總是讓我輸出

{"0"=>{"test"=>"asdas"}}

我期待以下登錄rails。

 [{:test=>"asdas"}] 

您應該在Javascript中使用JSON.stringify ,它將數組或散列作為其參數(因為這些是唯一有效的JSON結構)。 它返回一個表單,該表單是序列化為JSON的Javascript對象。

在Ruby方面,你將收到一個JSON編碼的字符串,因此你require 'json' (這在Rails中自動完成)並使用JSON.parse(string) 這將為您提供一個Ruby對象。

試試這個:

data.test = [{test: 'asdas'}]

$.ajax({
  url: 'evaluate.json',
  data: JSON.stringify(data),  // Explicit JSON serialization
  contentType: 'application/json',  // Overwrite the default content type: application/x-www-form-urlencoded
  success: function(data){
  },
  dataType : "json"
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM