Ajax内部的Ajax有些奇怪的行为

Ajax inside Ajax somehow strange behaviour

本文关键字:Ajax 内部      更新时间:2023-09-26

我在Ajax-Call内部有一个Ajax-Call,一切"似乎"工作得很好。在控制台中,我可以看到,两个调用都被执行并得到一个返回。

但不知何故,我不能使用从第二个调用返回的结果(?)

 $.ajax({
            type: "POST",
            url: "register/checkEmail/"+email,                 
            success: function(result){
                if(result == "TRUE") {                    
                    $('#regMsg').html('Ein User mit dieser Email ist bereits registriert!');
                    $('#regMsg').slideDown();  
                // NO ERROR - REGISTER USER
                } else {                        
                    $('#regMsg').slideUp();            
                    var inputs = $('#regForm :input').serializeArray();
                    alert('ok');  
                    $.ajax({
                        method: "POST",
                        url: "register/save",
                        data: inputs,
                        dataType: 'json',
                        success: function(result){
                             alert('ddok'); 
                        }
                    });
                }                    
            }
        });

第一个alert()被显示,第二个没有,虽然第二个调用被正确执行(?)为什么?

简单-第二个调用的响应没有返回给ajax,即错误/失败。

success后添加error处理部分以查找响应。成功后添加

,error: function(result){
    alert('error'); 
    console.log(result);
}

如果这不是原因,那么dataType: 'json',应该是罪魁祸首,因为你的响应不会是json格式!!