【问题标题】:variable in jquery.ajax function: missing : after property id [duplicate]jquery.ajax 函数中的变量:缺少:属性 ID [重复]
【发布时间】:2019-03-27 10:15:59
【问题描述】:

我想在 jQuery.ajax 中使用一个变量{data {action}

我收到此错误:

SyntaxError: missing : after property id

如果我将“+id+”替换为“61”,它的工作就完美了。

var id = 61;
jQuery.ajax({
    method: "POST",
    url: "/?someurl",
    data: {
      table: "__databasename",
      action: "edit",
      "data["+id+"][persons]": value
    }
  })
  .done(function(msg) {
    alert("Data Saved: " + msg);
  });

【问题讨论】:

  • 谢谢 :) "persons" 是一个字符串...我真的很想明白,为什么 "+id+" 不起作用?

标签: jquery ajax variables


【解决方案1】:

"data["+id+"][persons]": value JS 无效

除非你使用新的 ES6 语法,否则你不能在赋值的左边有一个变量:

var dataObj = {
  table: "__databasename",
  action: "edit",
  ["data[" + id + "][persons]"] : value
}

var dataObj = {
  table: "__databasename",
  action: "edit"
};
dataObj["data[" + id + "][persons]"] = value; // standard, assign after

像这样:

var value = "zzz";
var id = 61;
var dataObj = {
  table: "__databasename",
  action: "edit",
  ["data[" + id + "][persons]"] : value // ES6
};
// dataObj["data[" + id + "][persons]"] = value; // standard, assign after

console.log(dataObj)
/*
jQuery.ajax({
    method: "POST",
    url: "/?someurl",
    data: dataObj
  })
  .done(function(msg) {
    alert("Data Saved: " + msg);
  });
*/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    相关资源
    最近更新 更多