Javascript 迭代输入并将数据传递给AJAX函数

Javascript 迭代输入并将数据传递给AJAX函数,javascript,Javascript,我正在循环几个输入,并试图将数据附加到一个对象中,然后将其传递到AJAX函数中。我不太确定我做错了什么,但我一直收到一个错误,上面写着“Uncaught SyntaxError:Unexpected token)”,我找不到这个额外的括号,我想我一定是做错了 var dataObject = []; $("#"buttonId).find("input").each(function(index) { inputId = $(this).attr("id").replace(butt

我正在循环几个输入,并试图将数据附加到一个对象中,然后将其传递到AJAX函数中。我不太确定我做错了什么,但我一直收到一个错误,上面写着
“Uncaught SyntaxError:Unexpected token)”
,我找不到这个额外的括号,我想我一定是做错了

var dataObject = [];

$("#"buttonId).find("input").each(function(index) {

    inputId = $(this).attr("id").replace(buttonId, "");
    inputValue = $(this).val();

    var data = { 
       inputId : inputValue;
    }

    dataObject.push(data);
});

$.post(
    'ajax/' + buttonId + '.php', 
    {
        dataObject: dataObject
    },
    function (response) {
    }
);

字符串连接缺少
+

$("#"buttonId)
//   ^----
此外,不能将变量用作对象文字中的属性名称,请尝试以下操作:

var data = {}; 
data[inputId] = inputValue;
dataObject.push(data);
您也可以使用
map
方法:

var dataObject = $("#" + buttonId).find("input").map(function() {
    var inputId = this.id.replace(buttonId, ""),
        obj = {};
    obj[inputId] = this.value;
    return obj;
}).get();

或方法。

是的,这似乎有效!在继续确保使用最合适的方法之前,我将先查看map方法和.serializeArray()方法。非常感谢你的帮助,告诉我我做错了什么。