使用codeigniter的多个ajax调用

时间:2019-07-11 01:56:52

标签: javascript ajax

对不起,先生/女士 我是ajax的新手,我正在尝试在一个函数中执行多个ajax调用,以在选择了下拉菜单中的一个选项并将其放入单独的字段后(例如,
a进入描述字段,b进入计划字段
我已经获得了1次调用的功能,但是当我尝试执行2次调用时只是不起作用
这是我为多次通话编写的代码

<script>
// multiple ajax calls code that i make
// #paket is the dropdown id
$.when(
    $('#paket').unbind('change');
    $('#paket').change(function(){
        var opt_sel = $('#paket').val();

        $.ajax({
                url:'bttdev3/tour/s1',
                method: "POST",
                data: {
                    sel_op:opt_sel
                }   
        }),
        $.ajax({
                url:'bttdev3/tour/s2',
                method: "POST"
                data: {
                    sel_op:opt_sel
                }
        });
    });
);  
    .then(function(a,b){
        $.('#detail').html(a);
        $.('#jadwal').html(b);
    });
</script>

这是适用于1次数据调用的先前代码

<script>
1 call function
(function(){

    $('#paket').unbind('change');
    $('#paket').change(function(){

    var opt_sel = $('#paket').val();  
    var baseurl = "www.dev3.gatra.com/bttdev3";
        $.ajax({
            method:"POST", 
            url: '/bttdev3/tour/s1',
            // url: "/bttdev3/tour/" + s1,

            data:{
                sel_op:opt_sel
            }
        }).done(function(a){

            $('#detail').html(a);
        }).fail(function(){

            alert("gagal memanggil data.");
        });
    });

});
</script>

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

尝试这个

    $(document).on('change', '#packet', function(){
        _ajax('bttdev3/tour/s1', 'POST', {sel_op: $(this).val()}, function(res){
            $('#detail').html(res);
        });

        _ajax('bttdev3/tour/s2', 'POST', {sel_op: $(this).val()}, function(res){
            $('#jadwal').html(res);
        });
    });

    function _ajax(url, method, data, callback){
        $.ajax({
            method, 
            url,
            data
        }).done(function(a){
            if(typeof(callback) != 'undefined'){
                callback (a);   
            }
        }).fail(function(){
            alert("gagal memanggil data.");
        });
    }