Я пробовал различными способами добавить в свой сериализованный массив, но продолжаю сталкиваться со следующими проблемами:
Моя первая попытка привела к отправке [object Object]&username=1.
var vals = {};
$.each($('#my-form').serializeArray(), function(i, field) {
vals[field.name] = field.value;
});
$.ajax({
url: "https://example.com",
type: "POST",
data: vals + "&username=1",
complete: function(){
alert("Success")
}
});
Моя вторая попытка приводит к: Uncaught (in promise) TypeError: vals.push is not a function
var vals = {};
$.each($('#my-form').serializeArray(), function(i, field) {
vals[field.name] = field.value;
});
vals.push({name: 'username', value: 1});
$.ajax({
url: "https://example.com",
type: "POST",
data: vals,
complete: function(){
alert("Success")
}
});
Есть идеи о том, что я здесь делаю не так?
Ах я вижу. Я работаю с объектом, а не с массивом. smh. В этом случае работает vals.username = 1;. Спасибо, @CodeManiac.
попробуйте $ .param (vals) + "& username = 1" для решения этой проблемы [object Object] & username = 1



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


vals- это объект, к которому не прикреплен метод push.