我有这个JS对象:

obj = {id:80,attr_name:“头像”,样式:“ small”,upload_path:null}

然后,我将该对象作为带有AJAX的参数发布到控制器。我想在参数中看到的是这样的:

params[:attachment][:id] = 80
params[:attachment][:attr_name] = "avatar"


等等等等

因此,在JS端,我创建了一个保存附件参数的对象:

{attachment:obj}


虽然我确实获得了params [:attachment]的结果,但它还是[object Object]。

如何将JS对象转换为params [:attachment]中的数组?

谢谢,

最佳答案

一种方法是代替{attachment:obj}使其变为:

postData = {
  "attachment[id]": obj.id,
  "attachment[attr_name]": obj.attr_name
}


另一种方法是使用将JS对象字符串化为JSON,然后在另一侧使用JSON.parse。

但是,当您将对象传递给“数据”参数时,jQuery.ajax应该按原样发送它。参见:Post an object as data using Jquery Ajax

关于javascript - Rails:如何将JS对象转换为数组参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20272798/

10-11 20:28