使用Jquery ajax函数时,错误'缺少:在属性id之后'

Isr*_*ael 3 javascript ajax jquery json

在下面的代码中,我试图发送一个键值对,我总是得到错误:
"缺少:属性id后"

$(".general").change(function () {
  fields = { $(this).attr('id') : "1" };
  $.ajax({
   type: "POST",
   url: "ajax/update_general.php",
   data: { fields: fields },
   dataType: "json",
   });
})
Run Code Online (Sandbox Code Playgroud)

我认为导致问题的原因是:

$(this).attr('id')
Run Code Online (Sandbox Code Playgroud)

但我不知道为什么.我试图首先将$(this).attr('id')分配给变量,并将变量放在ajax调用中,但这没有帮助.我该如何解决这个问题?
谢谢!

Bol*_*ock 8

这是一个语法错误.您不能将函数调用的返回值用作属性名称.

但是,您可以初始化对象以括号表示法使用该返回值:

  fields = {};
  fields[$(this).attr('id')] = '1';
Run Code Online (Sandbox Code Playgroud)