Php Ajax第二个调用响应包含第一个Ajax响应

Php Ajax第二个调用响应包含第一个Ajax响应,php,ajax,Php,Ajax,我对嵌套AJAX调用有一个非常奇怪的问题 我用php创建了一个简单的AJAX调用,我有两个AJAX调用。第二个调用始终包含来自第二个调用的json数据加上来自第一个调用的数据 这是我的代码: PHP <?php ... if (isset($_REQUEST['ajax_action']) && !empty($_REQUEST['ajax_action'])) { $action = $_REQUEST['ajax_action']; switch (

我对嵌套AJAX调用有一个非常奇怪的问题 我用php创建了一个简单的AJAX调用,我有两个AJAX调用。第二个调用始终包含来自第二个调用的json数据加上来自第一个调用的数据

这是我的代码:

PHP

<?php

...
if (isset($_REQUEST['ajax_action']) && !empty($_REQUEST['ajax_action'])) {
    $action = $_REQUEST['ajax_action'];

    switch ($action) {
        /**
         * Scheda
         */
        case 'Scheda_getSchedeBySerie':
            $idSerie = isset($_REQUEST["idSerie"]) ? $_REQUEST["idSerie"]: NULL;
            echo Scheda::getSchedeBySerie($idSerie);        
        /**
         * Serie
         */ 
        case 'Serie_getSeriesByUSer':
            $idDb = isset($_REQUEST["ID_DB"]) ? $_REQUEST["ID_DB"]: NULL;  
            $userName = isset($_REQUEST["userName"]) ? $_REQUEST["userName"]: NULL;
            //ob_start();
            echo Serie::getSeriesByUSer($idDb, $userName);
            break;
    }
}
?>

AJAX第一次调用

var data = {
            ajax_action: 'Serie_getSeriesByUSer', 
            ID_DB: '<?php echo $ID_DB; ?>',
            userName: '<?php echo $username; ?>',
        };

        $.ajax({
            url: 'ajax.php',
         type: "post",
         data: data ,
         dataType: 'html',   
         async: false,
         success: function (response) {
             alert(response);
                var list = $.parseJSON(response);
                var source = [];
                for (i = 0; i < list.length; i++) {
                    var group = "<div>" + list[i].editore.trim() + "</div>";
                    var html = "<div>  " + list[i].collana.trim() + "</div>";
                    var title = list[i].idSerie.trim();

                    if(i == 0)
                        idSerieTo = list[i].idSerie.trim();

                    var r = {html: html, title: title, group: group };
                    source.push(r);
                }
                $('#ddlElencoCollaneCI').off('select');
                $("#ddlElencoCollaneCI").jqxDropDownList({ source: source});

                var item = $('#ddlElencoCollaneCI').jqxDropDownList('getItem', 0);
                    if (item != null) {
                        idSerieTo = item.label;
                        PopolaElencoLibri(idSerieTo);
                    }

                $('#ddlElencoCollaneCI').on('select', function (event) {
                    var args = event.args;
                    var item = $('#ddlElencoCollaneCI').jqxDropDownList('getItem', args.index);
                    if (item != null) {
                        idSerieTo = item.label; 
                        PopolaElencoLibri(idSerieTo);
                    }
                });
           },
function PopolaElencoLibri(idSerie) {

        var data = {
            ajax_action: 'Scheda_getSchedeBySerie', 
            idSerie: idSerie,
        };

        $.ajax({
            url: 'ajax.php',
         type: "post",
         data: data ,
         dataType: 'html', 
         async: false,       
         success: function (response) {

// response contain Scheda_getSchedeBySerie result AND Serie_getSeriesByUSer :(
                alert(response);
                var list = $.parseJSON(response);
                var source = [];
                for (i = 0; i < list.length; i++) {
                    var group = "<div></div>";
                    var html = "<div>  " + list[i].numerodescr.trim() + "</div>";
                    var title = list[i].idScheda.trim();

                    //if(i == 0)
                    //  idSerieTo = list[i].idSerie.trim();

                    var r = {html: html, title: title, group: group };
                    source.push(r);
                }
                $("#ddlElencoLibriCI").jqxDropDownList({ source: source});
            }
        });  
    }
var数据={
ajax_操作:“Serie_getSeriesByUSer”,
ID_DB:“”,
用户名:“”,
};
$.ajax({
url:'ajax.php',
类型:“post”,
数据:数据,
数据类型:“html”,
async:false,
成功:功能(响应){
警报(响应);
var list=$.parseJSON(响应);
var源=[];
对于(i=0;i
AJAX第二次调用

var data = {
            ajax_action: 'Serie_getSeriesByUSer', 
            ID_DB: '<?php echo $ID_DB; ?>',
            userName: '<?php echo $username; ?>',
        };

        $.ajax({
            url: 'ajax.php',
         type: "post",
         data: data ,
         dataType: 'html',   
         async: false,
         success: function (response) {
             alert(response);
                var list = $.parseJSON(response);
                var source = [];
                for (i = 0; i < list.length; i++) {
                    var group = "<div>" + list[i].editore.trim() + "</div>";
                    var html = "<div>  " + list[i].collana.trim() + "</div>";
                    var title = list[i].idSerie.trim();

                    if(i == 0)
                        idSerieTo = list[i].idSerie.trim();

                    var r = {html: html, title: title, group: group };
                    source.push(r);
                }
                $('#ddlElencoCollaneCI').off('select');
                $("#ddlElencoCollaneCI").jqxDropDownList({ source: source});

                var item = $('#ddlElencoCollaneCI').jqxDropDownList('getItem', 0);
                    if (item != null) {
                        idSerieTo = item.label;
                        PopolaElencoLibri(idSerieTo);
                    }

                $('#ddlElencoCollaneCI').on('select', function (event) {
                    var args = event.args;
                    var item = $('#ddlElencoCollaneCI').jqxDropDownList('getItem', args.index);
                    if (item != null) {
                        idSerieTo = item.label; 
                        PopolaElencoLibri(idSerieTo);
                    }
                });
           },
function PopolaElencoLibri(idSerie) {

        var data = {
            ajax_action: 'Scheda_getSchedeBySerie', 
            idSerie: idSerie,
        };

        $.ajax({
            url: 'ajax.php',
         type: "post",
         data: data ,
         dataType: 'html', 
         async: false,       
         success: function (response) {

// response contain Scheda_getSchedeBySerie result AND Serie_getSeriesByUSer :(
                alert(response);
                var list = $.parseJSON(response);
                var source = [];
                for (i = 0; i < list.length; i++) {
                    var group = "<div></div>";
                    var html = "<div>  " + list[i].numerodescr.trim() + "</div>";
                    var title = list[i].idScheda.trim();

                    //if(i == 0)
                    //  idSerieTo = list[i].idSerie.trim();

                    var r = {html: html, title: title, group: group };
                    source.push(r);
                }
                $("#ddlElencoLibriCI").jqxDropDownList({ source: source});
            }
        });  
    }
函数PopolaElencoLibri(idSerie){
风险值数据={
ajax_动作:“Scheda_getSchedeBySerie”,
idSerie:idSerie,
};
$.ajax({
url:'ajax.php',
类型:“post”,
数据:数据,
数据类型:“html”,
async:false,
成功:功能(响应){
//响应包含Scheda_getSchedeBySerie结果和Serie_getSeriesByUSer:(
警报(响应);
var list=$.parseJSON(响应);
var源=[];
对于(i=0;i
第二个ajax调用的响应数据包含Scheda_getSchedeBySerie结果和Serie_getSeriesByUSer

我将尝试ob_start();和ob_end_clean();但未返回任何数据


有什么想法吗?我对php和AJAX不熟悉。

您应该在每个case语句之后添加
break

开关($action){
/**
*舍达
*/
“Scheda_getSchedeBySerie”案:
$idSerie=isset($\u请求[“idSerie”])?$\u请求[“idSerie”]:NULL;
echo Scheda::getSchedeBySerie($idSerie);
打破
/**
*意甲
*/ 
案例“Serie_getSeriesByUSer”:
$idDb=isset($\u请求[“ID\u DB”])?$\u请求[“ID\u DB”]:NULL;
$userName=isset($\u请求[“userName”])?$\u请求[“userName”]:NULL;
//ob_start();
echo Serie::getSeriesByUSer($idDb,$userName);
打破
}

您试图调试该问题的原因是什么?