我想在Jquery中创建一个Json数据。
因为我这样做。我在"customParam'+i+'Key:"
var counter=4;
var data;
for(i=1; i<counter; i++){
data = {
"Param'+i+'Key:" : $('#key' + i).val(),
"Param'+i+'Value:" : $('#value' + i).val()
};
}
执行循环操作后,我的数据将是
data={
"Param1Key": testkey
"Param1Value": ttestval
"Param2Key":testkey
"Param2Value": testval
"Param3Key":testkey
"Param3Value": ...
"Param4Key":...
"Param4Value": ...
};
我也想将"job": $('#job').val(),"names": $('#names').val()
追加到data
。怎么可能???
我的结果数据将在下面
数据= {
"job": $('#job').val(),
"names": $('#names').val(),
"Param1Key": testkey,
"Param1Value": ttestval,
"Param2Key":testkey,
"Param2Value": testval,
"Param3Key":testkey,
"Param3Value": ...,
"Param4Key":...,
"Param4Value": ...,
};
$.ajax({
type: 'post',
url: "/save",
dataType: "json",
data: data,
});
答案 0 :(得分:2)
data
必须是这样的。 单引号或双引号。
"Param"+i+"Key:" : $('#key' + i).val(),
"Param"+i+"Value:" : $('#value' + i).val()
要追加,请尝试这样
data.job = $('#jobid').val();
data.names = $('#names').val();
答案 1 :(得分:1)
这应该让你去。
var data = {
"job": $('#job').val(),
"names": $('#names').val()
};
for(i = 1; i <= 4; i++) {
data["Param" + i + "Key"] = $('#key' + i).val();
data["Param" + i + "Value"] = $('#value' + i).val();
}
// Do things with data here
答案 2 :(得分:1)
JSON只是一种表示JavaScript对象的文本格式。构建用于提交AJAX函数的对象时,您不需要使用JSON。
AJAX函数的dataType参数是指您希望从服务器返回的数据类型。这就是JSON的用武之地。
您可以先创建结构,然后在循环时将值作为关联数组添加到其中。
var counter=4;
var data = {};
for(var i=1; i<counter; i++){
data["Param"+i+"Key"] = $('#key' + i).val();
data["Param"+i+"Value"]= $('#value' + i).val();
}
data.job = $('#job').val();
data.names = $('#names').val();