首页 > 解决方案 > 使用 codeigniter 进行多个 ajax 调用

问题描述

对不起,先生/女士,我是 ajax 新手,我正在尝试在一个函数中进行多个 ajax 调用以在选择下拉列表中的一个选项并进入单独的字段后显示信息,就像
进入描述字段一样, 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>

任何帮助,将不胜感激

标签: javascriptajax

解决方案


试试这个

    $(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.");
        });
    }

推荐阅读