【发布时间】:2013-12-06 23:36:05
【问题描述】:
我正在尝试这样做:
$.ajax({
type: "PUT",
url: /example,
data: {_method: "put", "foo_model[bar_attribute]": value_var }
});
并且按预期工作,但我需要动态地构造部分foo_model[bar_attribute]。
我正在尝试:
var model = "foo_model";
var attribute = "foo_attribute";
var param = model + "[" + attribute + "]";
var dataStr = '{_method: "put",' + param + ': ' + value + '}';
又一次:
$.ajax({
type: "PUT",
url: /example,
data: dataStr
});
但它不起作用,jQuery 正在转义引号并在周围到处添加大括号......
有没有更好的方法来做到这一点?我还尝试了其他方法,例如制作 json 对象,将 processData 设置为 false,正如我在另一篇文章中看到的那样,但似乎没有任何效果......请求总是被转换和转义。也尝试过unescape,但它只有在我按字面书写时才有效:
data: {_method: "put", "foo_model[bar_attribute]": value_var }
谢谢。
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax json