2017-08-27 93 views
0

我通過jQuery發送POST請求:jQuery的PHP POST錯誤處理

if (isset($_POST['newOwner'], $_POST['uID'])) : 
    $function->updateTransport($_POST['newOwner'], $_POST['uID']); 
endif; 

$.post("", { 
    newOwner: $("#newOwner").val(), 
    uID: uid 
}) 

我如何登錄jQuery的時候,舉例來說,MySQL不能更新?我試過.fail,但jQuery總是顯示成功發佈請求。

public function updateTransport($newOwner, $uID) 
{ 
    try 
    { 
     $stmt = $this->db->prepare("UPDATE cars SET owner= ? WHERE id = ?"); 
     $stmt->execute(array($newOwner, $uID)); 
    } 
    catch(PDOException $e) 
    { 
     echo $e->getMessage(); 
    } 
} 

回答

1

您需要發送有關執行查詢成功和失敗的特定數據。 試試這個代碼。

public function updateTransport($newOwner, $uID){ 
     try 
     { 
      $stmt = $this->db->prepare("UPDATE cars SET owner= ? WHERE id = ?"); 
      $status = $stmt->execute(array($newOwner, $uID)); 
      if($status){ 
       $ret = array(
        'status' => 'success', 
        'message' => 'Success' 
        ); 
       echo json_encode($ret); 
      }else{ 
       $ret = array(
        'status' => 'failed', 
        'message' => 'Failed' 
        ); 
       echo json_encode($ret); 
      } 
     } 
     catch(PDOException $e) 
     { 
      $ret = array(
       'status' => 'failed', 
       'message' => $e->getMessage() 
       ); 
      echo json_encode($ret); 
     } 
    } 
    $.ajax({ 
     'url' : 'yourURL', 
     data : { 'key' : value }, 
     success : function(data, textStatus, jqXHR){ 
      var dat = JSON.parse(data); 
      if(dat.status == 'success'){ 

      }else{ 

      } 
     }, 
     error : function(jqXHR, textStatus, errorThrown){ 
      var dat = JSON.parse(data); 
      if(dat.status == 'success'){ 

      }else{ 

      } 
     } 
    });