我正在处理一个代码,我可以使用JSON
和AJAX
在数组内逐个推送for loop
个对象。这里的代码只是我一直在做的一个粗略的例子。我似乎无法将对象推送到API JSON array
var lms_json = <?php echo json_encode($json_data); ?>;
var jobjects = JSON.parse(lms_json);
var data = jobjects[0];
for ( i = 0; i < jobjects.length; i++ ) {
var data = jobjects[i];
$.ajax({
type : 'POST',
url : url,
data : data,
dataType : 'json',
success : function() {
console.log(success);
},
error : function(error) {
console.log('Error')
}
})
}
答案 0 :(得分:1)
您需要使用JSON.stringify来序列化您的JSON对象。另外,指定content-type以使服务器期望JSON数据。这可能有效:
$.ajax({
url: url,
type: "POST",
data: JSON.stringify(data),
contentType: "application/json",
complete: callback
});
答案 1 :(得分:1)
我认为您的问题是AJAX是异步过程,因此您可以执行以下操作来正确执行此操作:
var lms_json = <?php echo json_encode($json_data); ?>;
var jobjects = JSON.parse(lms_json);
var i=0;
function makeAjax(url, objs){
var data = objs[i];
i++;
$.ajax({
type : 'POST',
url : url,
data : data,
dataType : 'json',
success : function() {
console.log(success);
makeAjax();
},
error : function(error) {
console.log('Error')
}
})
}
makeAjax(url,jobjects);
所以在每次成功回调运行后,它将运行下一个。所以这将是同步过程。
我希望它有所帮助。