резервный тип метода успеха ajax не работает

#php #jquery #ajax #sweetalert

#php #jquery #ajax #sweetalert

Вопрос:

тип возвращаемого значения страницы действия — x в php, но происходит успех

  $.ajax({
        url: "user.php?mysts=chck",
        type: "POST",
        data: $("#cntstngfrm").serialize(),
        success: function (cevap) {
            console.log("myrequest =  " cevap);
            if (cevap == "x") {
                alert("dasdasd");
            }else{
               alert("999");
            }
        }
 });
 

user.php :

 if (isset($_GET['mysts'])=="chck"){
     $duzenle=$db->prepare("UPDATE mmb SET
        mmbss=:mmbss

        WHERE id={$_POST['wqrid']}");

    $control=$duzenle->execute(array(
        'mmbss'=>$_POST['mmbss']
    ));
    if ($control) {
        echo "x";
    }else{
        echo "y";
    }
}
 

консоль :
введите описание изображения здесь

все в порядке, но выдает предупреждение 999. Спасибо за помощь.

Комментарии:

1. Просто чтобы проверить, что отправляется обратно, попробуйте console.log("myrequest=" cevap "!"); , чтобы дополнительный символ мог показать, есть ли какие-либо пробелы вокруг x.

2. дал распечатку, подобную этой, без пробелов: hizliresim.com/ClNOKL

3. Что вы пытались отладить проблему?

Ответ №1:

основываясь на ваших вторых изображениях, есть n символ новой строки, используйте .trim() , чтобы удалить его

 success: function (cevap) {
  console.log("myrequest =  "   cevap);
  cevap = cevap.trim(); // <= remove space or newline
  if (cevap == "x") {
    alert("dasdasd");
  }
  else {
    alert("999");
  }
}
 

или проверьте еще раз user.php и убедитесь, что нет других echo

Комментарии:

1. Большое вам спасибо, функция trim решила мою проблему