我想用 JavaScript 中的 json ajax 从我的应用程序发送数据。我有多个数据包,但是当我通过 ajax 发送数据时,它只发送最后一个数据包。
例如,我发送了两个数据包,然后 ajax 发送了两个数据包,但它们都包含相同的数据(最后一个数据包)。
这是我的代码。
for(var i=0;i<data.length;) {
/*var d = new Date();
d.setTime(data[i].updated);*/
var send2 = {};
send2.nama= data[i].name;
send2.rumahsakit = data[i].hospital;
//step 1
alert("step 1"+send2.nama);
var client = "coba";
var Idku = data[i].unik;
//clientID
var request2 = {};
request2.jsonrpc = "2.0";
request2.id = "load_reg"+Idku+"";
request2.method = "registrasi:loadByClientUnik";
request2.params = [client,Idku];
//request2.params = akun.value;
var postData = JSON.stringify(request2);
var postArray = {json:postData};
$.ajax({
type: 'POST',
url: 'service.php',
data: postArray,
dataType:'json',
//async: false,
success: function(result){
alert(send2.nama);
//alert step 2;
if(result.result == -1){
//alert("-1 cuk");
var requestx = {};
requestx.jsonrpc = "2.0";
requestx.id = "store_reg";
requestx.method = "registrasi:store";
requestx.params = [send];
var postDatax = JSON.stringify(requestx);
var postArrayx = {json:postDatax};
$.ajax({
type: 'POST',
url: '/service.php',
data: postArrayx,
dataType:'json',
//async: false,
success: function(result){
//alert("sukses");
},
error: function(e){
console.log(e);
alert(e);
} });
}else{
alert(send2.nama);
var request = {};
request.jsonrpc = "2.0";
request.id = "store_reg";
request.method = "registrasi:storeById";
request.params = [result.result,send2];
var postData2 = JSON.stringify(request);
var postArray2 = {json:postData2};
$.ajax({
type: 'POST',
url: '/service.php',
data: postArray2,
dataType:'json',
//async: false,
success: function(result){
//send2 = "";
//alert("sukses ID");
},
error: function(e){
console.log(e);
alert(e);
}
});
}
},
error: function(e){
console.log(e);
alert(e);
}
});
//return false;
i++;
}
getData();
}
示例行为:我发送 2 个数据包,第一个具有名称 = 1,第二个具有名称 = 2,然后我发送两个数据包:
输出 :
警报步骤 1 打印 1
警报步骤 1 打印 2
警报步骤 2 打印 2
警报步骤 2 打印 2
我想要这个输出:
警报步骤 1 打印 1
警报步骤 2 打印 1
警报步骤 1 打印 2
警报步骤 2 打印 2
}else{ alert(send2.nama); var request = {}; request.jsonrpc = "2.0"; request.id = "store_reg"; request.method = "registrasi:storeById"; request.params = [result.result,send2]; var postData2 = JSON.stringify(request); var postArray2 = {json:postData2}; $.ajax({ type: 'POST', url: 'http://10.126.14.116/portable_med_services/service.php', data: postArray2, dataType:'json', //context set context: { send2: send2 }, //async: false, success: function(result){ //send2 = ""; //alert("sukses ID"); }, error: function(e){ console.log(e); alert(e); } });
这是我添加上下文的更新代码......我是对的吗?
更新 :
我已经在这个问题之后解决了这个问题......循环问题中的jQuery ajax