如何使用一个提交按钮一个接一个地发布ajax? [英] How to post ajax one after another with one submit button?

查看:90
本文介绍了如何使用一个提交按钮一个接一个地发布ajax?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经创建了一些调用ajax发布的代码.有时流程的顺序正确,有时不正确.我希望从功能1到功能4的ajax帖子始终具有正确的顺序.每个功能都有不同的形式值,因此我确实需要对其进行修复. 任何人都可以查看我的代码吗?

I have created some code that call ajax post. Sometime the order of process are right, sometime aren't. I want ajax post that always have the right order, from function 1 to function 4. Every function has different form value, so I really need to fix it. Can anyone look into my code ?

<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>

推荐答案

您可以为每个ajax请求编写单独的函数,然后从另一个成功函数中调用一个.

you can write separate function for each ajax request and call one from another's success function.

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?>);
        });

}

这篇关于如何使用一个提交按钮一个接一个地发布ajax?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆