目前我正在调用ajax并将以下对象作为数据发布:
var answer = {
checklist: {id: 1},
question: {id: questionId },
answer: "testing1",
notes: checkInNotes
};
在服务器端,这会更新数据库中的答案和备注,其中找到ID为1的问题和核对清单。
现在说我有一系列的问题我需要传递给ajax作为上述对象中该问题属性的一部分。在ajax中实现这一目标的最佳方法是什么?
目前,我可以通过向数据库中发送需要更新的每个值的服务器x次数发送ajax调用来实现此目的,但这显然效率低下。
我对ajax很新,所以请原谅我缺乏知识。
感谢您的时间。
答案 0 :(得分:0)
JSON允许数组和对象。
您可以将数组包含为对象属性之一(如果这是您需要的)并将其放入服务器中。
var answer = {
checklist: {id: 1},
question: {id: questionId },
answer: "testing1",
notes: checkInNotes,
arrayOfQuestionId: [ 1, 2, 3, 4 ]
};
你也可以发送一个对象数组而不只是一个:
var otherAnswer = [ object1, object2, ... ];
答案 1 :(得分:0)
提示:生成混合数据并将其全部发布到服务器端。
1.发送客户的所有请求
2.发送所有混合数据到服务器并进行解析。
way1:来自服务器
let url='*',ids=[1,2,3];
//生成数组的参数。
function getarams(){
let requests_params=ids.map(i=>{
let data_temp={question:{id:i}}
return data_temp;
}||[];
return resuests_params;
}
//从服务器解析
$.post(url,{data:getParams()},function(data,status){},'json');<br>
way2:发送所有帖子
let posts=getParams().map(d=>{
return $.post(url,d)
});
$.when(posts[0],posts[1],posts[2]).then(result=>{
console.log(result);
})