2016-07-06 61 views
0

我知道这已被问及我看了其他主题,但无法找到答案。两个或更多ajax调用一个PHP文件

我有两个ajax调用,指向同一页面。一个删除语言选择,另一个删除教育体验。奇怪的是,在PHP页面上的最后一个查询工作(目前的语言)。编号: 为什么第一个查询不起作用? (当试图删除教育EXP)


PHP

/*------------------------------------------ 
[NANY EDUCATION EXP DELETE] 
-------------------------------------------*/ 
if(isset($_POST['education_id']) && !empty($_POST['education_id'])){ 
    $education_id = $_POST['education_id']; 
    $stmt = $user_home->runQuery("DELETE FROM user_education WHERE education_id=:education_id"); 
    $stmt->execute(array(':education_id' => $education_id)); 
    $response_array['status'] = 'success'; 
}else{ 
    $response_array['status'] = 'error'; 

} 

/*------------------------------------------ 
[NANY LANGUAGE EXP DELETE] 
-------------------------------------------*/ 
if(isset($_POST['language_id']) && !empty($_POST['language_id'])){ 
    $language_id = $_POST['language_id']; 
    $stmt = $user_home->runQuery("DELETE FROM user_language WHERE language_id=:language_id"); 
    $stmt->execute(array(':language_id' => $language_id)); 
    $response_array['status'] = 'success'; 
}else{ 
    $response_array['status'] = 'error'; 

} 

JS


  /*------------------------------------------ 
      [NANY EDUCATION EXP DELETE] 
      -------------------------------------------*/ 
      $(document).on("click", ".deleteEducationEXP", function (e) { 
       e.preventDefault(); 
       var education_id = $(this).attr('id'); 
       $(this).parent().parent().parent().fadeOut(300, function() { $(this).remove(); }); 

       $.ajax({ 
        type: "POST", 
        url:'PHP/deleteData.php', 
        data:"education_id=" + education_id, 
        success:function(data){ 
         if(data.status == 'success'){ 
          console.log("success"); 
         }else if(data.status == 'error'){ 
          console.log("error"); 
         } 
        },  
        error: function(jqXHR, textStatus, errorThrown, data){ 
         console.log(jqXHR, textStatus, errorThrown, data); 
        } 
       }); 
      }); 

      /*------------------------------------------ 
      [NANY LANGUAGE EXP DELETE] 
      -------------------------------------------*/ 
      $(document).on("click", ".deleteLangugage", function (e) { 
       e.preventDefault(); 
       var language_id = $(this).attr('id'); 
       $(this).parent().parent().fadeOut(300, function() { $(this).remove(); }); 

       $.ajax({ 
        type: "POST", 
        url:'PHP/deleteData.php', 
        data:"language_id=" + language_id, 
        success:function(data){ 
         if(data.status == 'success'){ 
          console.log("success"); 
         }else if(data.status == 'error'){ 
          console.log("error"); 
         } 
        },     
        error: function(jqXHR, textStatus, errorThrown, data){ 
         console.log(jqXHR, textStatus, errorThrown, data); 
        } 
       }); 
      }); 
+3

你忘了问一个问题吗?你需要什么帮助? –

+0

我正在投票结束这个问题,因为这里没有问题。 –

+0

@PraveenKumar哎呀。我编辑过。请参阅编辑 – raqulka

回答

2

的问题是,无论是else条款设置$response_array['status'] = "error";

他们删除教育时,第一个if区块成功,从教育表删除并设置$response_array['status'] = "success";。然后进入下一个if区块,该区块失败并覆盖$reponse_array['status']。使用elseif来组合它们。

if(!empty($_POST['education_id'])){ 
    /*------------------------------------------ 
    [NANY EDUCATION EXP DELETE] 
    -------------------------------------------*/ 
    $education_id = $_POST['education_id']; 
    $stmt = $user_home->runQuery("DELETE FROM user_education WHERE education_id=:education_id"); 
    $stmt->execute(array(':education_id' => $education_id)); 
    $response_array['status'] = 'success'; 
}elseif(!empty($_POST['language_id'])){ 
    /*------------------------------------------ 
    [NANY LANGUAGE EXP DELETE] 
    -------------------------------------------*/ 
    $language_id = $_POST['language_id']; 
    $stmt = $user_home->runQuery("DELETE FROM user_language WHERE language_id=:language_id"); 
    $stmt->execute(array(':language_id' => $language_id)); 
    $response_array['status'] = 'success'; 
}else{ 
    $response_array['status'] = 'error'; 
} 

BTW,你不需要无论它的设置首先要同时使用isset()!empty(),因为empty()检查。

+0

谢谢你,先生!现在工作很好。非常感谢您的帮助。 – raqulka

相关问题