Javascript 如何使用一个提交按钮一个接一个地发布ajax?
我已经创建了一些调用ajax post的代码。有时过程的顺序是正确的,有时是错误的。我希望ajax帖子始终具有正确的顺序,从函数1到函数4。每个函数都有不同的形式值,所以我真的需要修复它。 有人可以查看我的代码吗Javascript 如何使用一个提交按钮一个接一个地发布ajax?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我已经创建了一些调用ajax post的代码。有时过程的顺序是正确的,有时是错误的。我希望ajax帖子始终具有正确的顺序,从函数1到函数4。每个函数都有不同的形式值,所以我真的需要修复它。 有人可以查看我的代码吗 <script> $(document).ready(function () { $('#unggah<?php echo $mhs?>').submit(function (event) { //FUNCTION 1 this.re
<script>
$(document).ready(function () {
$('#unggah<?php echo $mhs?>').submit(function (event) {
//FUNCTION 1
this.reset();
$('#loading<?php echo $mhs?>').show();
var formData = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi1<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData,
Async:false,
dataType: 'json',
encode: true
})
.done(function (data1<?php echo $mhs?>) {
console.log(data1<?php echo $mhs?>);
})
.fail(function (data1<?php echo $mhs?>) {
console.log(data1<?php echo $mhs?>);
});
event.preventDefault();
//FUNCTION 2
var formData2 = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi2<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData2,
Async:false,
dataType: 'json',
encode: true
})
.done(function (data2<?php echo $mhs?>) {
console.log(data2<?php echo $mhs?>);
})
.fail(function (data2<?php echo $mhs?>) {
console.log(data2<?php echo $mhs?>);
});
event.preventDefault();
//FUNCTION 3
var formData3 = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi3<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData3,
Async:false,
dataType: 'json',
encode: true
})
.done(function (data3<?php echo $mhs?>) {
console.log(data3<?php echo $mhs?>);
})
.fail(function (data3<?php echo $mhs?>) {
console.log(data3<?php echo $mhs?>);
});
event.preventDefault();
// FUNCTION 4
var formData4 = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi4<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData4,
Async:false,
dataType: 'json',
encode: true
})
.done(function (data4<?php echo $mhs?>) {
console.log(data4<?php echo $mhs?>);
})
.fail(function (data4<?php echo $mhs?>) {
console.log(data4<?php echo $mhs?>);
});
event.preventDefault();
});
});
</script>
$(文档).ready(函数(){
$('#unggah')。提交(函数(事件){
//职能1
这是reset();
$(“#加载”).show();
var formData={
'tahun':$('input[name=tahun]')。val(),
'jurusan':$('input[name=jurusan]')。val(),
'posisi':$('input[name=posisi1]')。val(),
'tabel':$('input[name=tabel]')。val()
};
$.ajax({
键入:“POST”,
url:'operator_pt/unggah/',
数据:formData,
Async:false,
数据类型:“json”,
编码:正确
})
.done(函数(数据1){
console.log(data1);
})
.失败(功能(数据1){
console.log(data1);
});
event.preventDefault();
//职能2
变量formData2={
'tahun':$('input[name=tahun]')。val(),
'jurusan':$('input[name=jurusan]')。val(),
'posisi':$('input[name=posisi2]')。val(),
'tabel':$('input[name=tabel]')。val()
};
$.ajax({
键入:“POST”,
url:'operator_pt/unggah/',
数据:formData2,
Async:false,
数据类型:“json”,
编码:正确
})
.done(函数(数据2){
console.log(data2);
})
.失败(功能(数据2){
console.log(data2);
});
event.preventDefault();
//职能3
变量formData3={
'tahun':$('input[name=tahun]')。val(),
'jurusan':$('input[name=jurusan]')。val(),
'posisi':$('input[name=posisi3]')。val(),
'tabel':$('input[name=tabel]')。val()
};
$.ajax({
键入:“POST”,
url:'operator_pt/unggah/',
数据:formData3,
Async:false,
数据类型:“json”,
编码:正确
})
.done(功能(数据3){
console.log(data3);
})
.失败(功能(数据3){
console.log(data3);
});
event.preventDefault();
//职能4
变量formData4={
'tahun':$('input[name=tahun]')。val(),
'jurusan':$('input[name=jurusan]')。val(),
'posisi':$('input[name=posisi4]')。val(),
'tabel':$('input[name=tabel]')。val()
};
$.ajax({
键入:“POST”,
url:'operator_pt/unggah/',
数据:formData4,
Async:false,
数据类型:“json”,
编码:正确
})
.done(功能(数据4){
console.log(data4);
})
.失败(功能(数据4){
console.log(data4);
});
event.preventDefault();
});
});
您可以将每个ajax调用嵌套在前一个调用的done()函数中。这样,只有在第n次呼叫完成(成功)后,才会发生第n+1次呼叫
e、 g
可以将每个ajax调用嵌套在前一个调用的done()函数中。这样,只有在第n次呼叫完成(成功)后,才会发生第n+1次呼叫 e、 g 您的
.done(
回调在请求成功完成后调用
在.done(
第一个请求的回调)中提出第二个请求,在第二个请求的.done(
回调,等等)中提出第三个请求
这将确保正确的呼叫顺序
…这就是他们所说的您的.done(
回调是在请求成功完成后调用的
在.done(
第一个请求的回调)中提出第二个请求,在第二个请求的.done(
回调,等等)中提出第三个请求
这将确保正确的呼叫顺序
…这就是他们所说的您可以为每个ajax请求编写单独的函数,并从另一个成功函数中调用一个函数
function callAjax3(){
var formData3 = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi3<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData3,
dataType: 'json',
encode: true
})
.done(function (data3<?php echo $mhs?>) {
console.log(data3<?php echo $mhs?>);
callAjax4() // calling 4th function
})
.fail(function (data3<?php echo $mhs?>) {
console.log(data3<?php echo $mhs?>);
});
}
function callAjax2(){
//FUNCTION 2
var formData2 = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi2<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData2,
dataType: 'json',
encode: true
})
.done(function (data2<?php echo $mhs?>) {
console.log(data2<?php echo $mhs?>);
callAjax3(); // calling 3rd function
})
.fail(function (data2<?php echo $mhs?>) {
console.log(data2<?php echo $mhs?>);
});
}
函数callAjax3(){
变量formData3={
'tahun':$('input[name=tahun]')。val(),
'jurusan':$('input[name=jurusan]')。val(),
'posisi':$('input[name=posisi3]')。val(),
'tabel':$('input[name=tabel]')。val()
};
$.ajax({
键入:“POST”,
url:'operator_pt/unggah/',
数据:formData3,
数据类型:“json”,
编码:正确
})
.done(功能(数据3){
console.log(data3);
callAjax4()//调用第四个函数
})
.失败(功能(数据3){
console.log(data3);
});
}
函数callAjax2(){
//职能2
变量formData2={
'tahun':$('input[name=tahun]')。val(),
'jurusan':$('input[name=jurusan]')。val(),
'posisi':$('input[name=posisi2]')。val(),
'tabel':$('input[name=tabel]')。val()
};
$.ajax({
键入:“POST”,
url:'operator_pt/unggah/',
数据:formData2,
数据类型:“json”,
编码:正确
})
.done(函数(数据2){
console.log(data2);
callAjax3();//调用第三个函数
})
.失败(功能(数据2){
console.log(data2);
});
}
您可以为每个ajax请求编写单独的函数,并从另一个成功函数中调用一个函数
function callAjax3(){
var formData3 = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi3<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData3,
dataType: 'json',
encode: true
})
.done(function (data3<?php echo $mhs?>) {
console.log(data3<?php echo $mhs?>);
callAjax4() // calling 4th function
})
.fail(function (data3<?php echo $mhs?>) {
console.log(data3<?php echo $mhs?>);
});
}
function callAjax2(){
//FUNCTION 2
var formData2 = {
'tahun': $('input[name=tahun<?php echo $mhs?>]').val(),
'jurusan': $('input[name=jurusan<?php echo $mhs?>]').val(),
'posisi': $('input[name=posisi2<?php echo $mhs?>]').val(),
'tabel': $('input[name=tabel<?php echo $mhs?>]').val()
};
$.ajax({
type: 'POST',
url: '<?=base_url()?>operator_pt/unggah/<?php echo $proses.'_'.$CL?>',
data: formData2,
dataType: 'json',
encode: true
})
.done(function (data2<?php echo $mhs?>) {
console.log(data2<?php echo $mhs?>);
callAjax3(); // calling 3rd function
})
.fail(function (data2<?php echo $mhs?>) {
console.log(data2<?php echo $mhs?>);
});
}
函数callAjax3(){
变量formData3={
'tahun':$('input[name=tahun]')。val(),
'jurusan':$('input[name=jurusan]')。val(),
'posisi':$('input[name=posisi3]')。val(),
'tabel':$('input[name=tabel]')。val()
};
$.ajax({
T