从jQuery变量中删除引号

时间:2012-03-30 13:27:51

标签: jquery ruby-on-rails ajax

所以我在Rails应用程序中发出Ajax请求,当我想恢复变量时,我遇到了一个小问题。

假设我传递给Ajax请求的数据看起来像这样

var dataAll = ({dataForKey: dataItemID});

然后说两个秒变量就像这样恢复了

var dataForKey = '<%= feed_item.class.to_s.foreign_key %>';
var dataItemID = '<%= feed_item.id %>';

想象一下,feed_item.class.to_s.foreign_key会返回photo。因此,dataForKey值为'photo'

但是,我需要dataForKeyphoto而不是'photo',我不能说

var dataForKey = <%= feed_item.class.to_s.foreign_key %>;

因为jQuery会查找名为photo ...

的变量

那么,让我们总结一下:如何从dataForKey删除引用?

3 个答案:

答案 0 :(得分:2)

不是将密钥的名称保存到变量中,而是直接输出:

var dataItemID = '<%= feed_item.id %>';
var dataAll = ({<%= feed_item.class.to_s.foreign_key %>: dataItemID});

或者,创建对象并单独设置值:

var dataForKey = '<%= feed_item.class.to_s.foreign_key %>';
var dataItemID = '<%= feed_item.id %>';
var dataAll = {};
dataAll[dataForKey] = dataItemID;

答案 1 :(得分:0)

您可以尝试使用eval

var dataForKey = eval('<%= feed_item.class.to_s.foreign_key %>');

答案 2 :(得分:0)

dataForKey = dataForKey.replace("'", "");