2015-08-16 3 views
3

Я отправляю запрос Ajax с $.post. Серверная сторона PHP является правильной. Но обратный вызов и PHP не работает!Статус Ajax - «успешный», но обратный вызов работает неправильно

Ajax запрос:

$("#exit").click(function(){ 
     swal({ 
      title: "exit", 
      text: "Are you sure???", 
      type: "info", 
      animation: "slide-from-top", 
      confirmButtonText:"Yes", 
      cancelButtonText: "No", 
      showCancelButton: true, 
      closeOnConfirm: false, 
      showLoaderOnConfirm: true, 
      }, 
      function(){ 
       $.post("send.php",{method:'del',id:$("#hidden").val(),answerer:$("#hidden3").val()},function(data){ 
       alert(data); 
     }); 
    }); 
}); 

И PHP:

if($method==='del'){ 
     $qs_id=htmlentities($_POST['id']); 
     $answerer=htmlentities($_POT['answerer']); 
     include('config.php'); 
     $conn=new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8;",$username,$password); 
     $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
     $DeleteQs=$conn->prepare("DELETE FROM qs WHERE id=:id"); 
     $DeleteQs->bindParam(':id',$qs_id); 
     $DeleteQs->execute(); 
     $DeleteAnswer=$conn->prepare("DELETE FROM ans WHERE q_id=:id"); 
     $DeleteAnswer->bindParam(':id',$qs_id); 
     $DeleteAnswer->execute(); 
     $ChangeStatus=$conn->prepare("UPDATE register SET wanted=0 WHERE name=:answerer"); 
     $ChangeStatus->bindParam(':answerer',$answerer);   
     $ChangeStatus->execute(); 
     echo "Deleted"; 

    } 

Я думаю, что я должен сказать, что я получаю alert(), но это не входит в PHP сообщение. Я не получаю ошибок!

Извините, если мой вопрос глупый :(

+1

Вы проверили вкладку сетей, чтобы увидеть что файл на самом деле вызван? Также если PHP столкнулся с любыми ошибками? – Darren

+2

Положите эхо вне 'if'. И я полагаю' $ method = $ _POST ['method'] '? Тем не менее, я не эту часть кода в ur Код. Кроме того, ваше сравнение '===' может по какой-то причине сбой – lolbas

+0

@Darren Да, 'переданный'' 'и' size' равен '0'. Но я не получаю никаких ошибок ни в' PHP 'или' Ajax' – NavidIvanian

ответ

0

этот вопрос может произойти в JQuery на V1.8 и выше, может быть, этот синтаксис будет делать:

$.post("send.php",{method:'del',id:$("#hidden").val(),answerer:$("#hidden3").val()}) 
.done(function(response){ 
    alert(response) 
}) 
.fail(function(response){ 
    alert("Failed:"+response); 
}) 
+0

Спасибо за ваш ответ, но не удалось !! Я использую JQ 1.6.3! – NavidIvanian

+0

все еще не удалось! Я не получаю ни '.done()', ни '. fail() ': (( – NavidIvanian

+0

вы уверены, что вызываете $ .post?: S –

Смежные вопросы