Javascript 对象字面量、POST 问题

标签 javascript jquery ruby ajax ruby-on-rails-3

我正在尝试让 autocomplete-rails.js 在 Rails 中使用 Ajax 工作,

我有以下功能

<script type="text/javascript">
function reply_click(clicked_id)
{
 var x = "work";
 var y = "monday"
 alert(y)
 $.ajax({
  type    : 'POST',
  url     : "/whens", 
  data: { y : x},
success : function(data) {
            alert(data);          
          },  
});
}
</script>

我遇到的问题是它返回

"y"=>"work"

我希望它返回 y 的值

"monday"=>"work"

另外,如果我执行以下操作

<script type="text/javascript">
function reply_click(clicked_id)
{
 var x = "work";
 var y = "monday"
 var data = {};
 data[x] = y;
 $.ajax({
  type    : 'POST',
  url     : "/whens", 
  data,
success : function(data) {
            alert(data);          
          },  
});
}
</script>

它似乎返回我遇到的问题是它返回

"term"=>"work"

知道如何让它返回 y 的内容

最佳答案

如果键没有引号,则并不意味着它正在使用变量。

正如您提到的,正确的做法是

var data = {};
data[y] = x;
$.ajax({
  type    : 'POST',
  url     : "/whens", 
  data    : data,
  success : function(data) {
            alert(data);          
          },  
 });

注意我将其更改为data[y] = x;

关于Javascript 对象字面量、POST 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12196934/

相关文章:

ruby - 如何将深度哈希转换为键数组

ruby-on-rails - 使用 FactoryGirl 构建一个 json stub

javascript - jQuery 中有类似 Dojo GFX 的东西吗?

javascript - 文本字段中仅允许使用罗马字符

javascript - 如果使用 React Router Dom 不存在 slug,如何重定向到未找到的页面?

javascript - 如何自动更新复制的 fabricjs Canvas ?

javascript - 设置值后 Chrome 11+(可能还有 IE)不会触发 OnChange

javascript - Ruby on Rails 应用程序中的 React .js.jsx 扩展

javascript - 创建一个 "pop-up"迷你页面

javascript - jQuery - 找到一个类存在并返回真/假