纯粹的废话 - 嵌套的Ajax

时间:2013-02-20 14:42:25

标签: javascript ajax jquery callback

考虑这个嵌套的ajax调用:

$.ajax({
     type: "POST",
     dataType: "json",
     data: dataString,
     url: "includes/check.php", 
     success:function(result){

          if(result['response']==false){

               $.ajax({
               type: "POST",
               dataType: "json",
               data: dataString,
               url: "includes/add.php", 
               success:function(){
                    alert('Success');
               });

          } else {
               alert('A problem has occurred!');
          }

     }
});

两个php脚本都被成功调用并执行它们要执行的操作但我无法获得嵌套的ajax调用的成功操作来显示。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当您将dataType设置为json时,如果响应是有效的JSON并且可以解析,jQuery将仅触发成功事件。如果您发送任何无效的JSON,jQuery将不会触发成功事件。根据您说的评论,您输出的1是无效的JSON。

相反,您可以输出一些JSON(在add.php中):

echo json_encode(array('success' => true));

输出

  

{ “成功”:真}

或删除json dataType设置并执行以下操作:

           success:function(response){
                if(response == "1")
                {
                    alert('Success');
                }
                else
                {
                    alert("Fail");
                }
           });

附注:使用Firebug或Chrome开发工具查看ajax响应(而不是通过电子邮件发送给自己)。