Javascript 为AJAX数据添加新的对象值

Javascript 为AJAX数据添加新的对象值,javascript,jquery,ajax,Javascript,Jquery,Ajax,与GET不同,AJAX的POST有不同的数据,如下所示 $.ajax({ type: "POST", data : {data: true}, url: '...' }); $.ajax({ type: "POST", data : ajaxVar, url: '...' }); ajaxVar = {data : true}; //add new object to ajaxVar 如何向数据中添加新对象 我想到了你会这样做 $.ajax({

与GET不同,AJAX的POST有不同的数据,如下所示

$.ajax({
type: "POST",
data : {data: true},
url: '...'

});
    $.ajax({
    type: "POST",
    data : ajaxVar,
    url: '...'

    });

ajaxVar = {data : true};
//add new object to ajaxVar
如何向数据中添加新对象

我想到了你会这样做

$.ajax({
type: "POST",
data : {data: true},
url: '...'

});
    $.ajax({
    type: "POST",
    data : ajaxVar,
    url: '...'

    });

ajaxVar = {data : true};
//add new object to ajaxVar
但是我被困在这里了。我可以做{data:true,dataExtra:'像这样'},但我有一个if。例如

if(function()){
// add new object to ajaxVar
}
我不想添加额外的代码,所以我想向现有的ajaxVar添加新对象。

尝试以下操作:

data : {var1: value1, var2: value2, var3: value3},

在ajax请求之前,需要向数据对象添加属性。您可以使用点或数组访问来添加新属性:

ajaxVar.newProp = newVal;

总而言之:

//declaration
var ajaxVal = {};

// some conditional asignment work
if( somethingIsTrue() ){
    ajaxVar.newProp = newVal;
}

// ajax request
$.ajax({
    type: "POST",
    data : ajaxVar,
    url: '...'
});

JavaScript是一种同步语言,意味着代码将按照编写顺序执行。如果您希望在Ajax请求中发送数据,请将数据设置在Ajax代码之上,这样一切都会很好

例如:

var data = {}
if (isTrue()) {
    data.property = true;
}

$.ajax({
    data: data,
    ...
});

虽然代码是值得赞赏的,但它应该始终有一个附带的解释。这不需要很长,一行就可以了,但它是必需的。我从审核队列到达这里,因为这是自动标记的。保持高质量的答案将有助于防止这种情况。