Ajax .done(函数(反馈)没有考虑“反馈”部分

时间:2015-12-09 17:31:06

标签: php ajax

我正在制作一个php表单,我使用ajax插入到mysql表中。显然,我有一个问题。

这是我的JS,唯一不起作用的是完成功能,它从不考虑“msg”部分,它总是显示“失败”。

$(document).ready(function(){
$('#submit-button').click(function(){
    var data = $('#myform').serialize();
    $.ajax({
        type: "POST",
        url: "my-file.php",
        data: data
    }).done(function( msg ) {
        console.log(msg);
        if(msg == "create"){
            $('.message').fadeIn().html('created row').delay(1600).fadeOut();
        } else if(msg == "maj"){
            $('.message').fadeIn().html('updated row').delay(1600).fadeOut();
        } else {
            $('.message').fadeIn().html('failed').delay(1600).fadeOut();
        }
    });
});});

这是my-file.php的一部分,其中我根据所做的动作回显'create'或'maj'。

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
if($count == 0){
$sql = "INSERT INTO testCookie (
  `option_cms_name`,
  `option_cms_value`, 
  `option_cms_type`,
  `option_cms_version`,
  `option_cms_libelle`,
  `option_cms_description`,
  `option_cms_lien`,
  `option_cms_active`,
  `option_cms_date_crea`,
  `option_cms_modif`,
  `option_cms_users_id`
  )
  VALUES 
  ('cookies', '".$cookievarstock."','script' ,'1.0' ,'Cookies' ,'Barre dinformation sur les cookies' ,'' ,'1' ,'2015-12-08 14:14:00' ,'".$cookiedate."' ,1);";
    echo 'create';
}
else{
$sql = "UPDATE testCookie SET option_cms_value='".$cookievarstock."' WHERE option_cms_name='cookies';";
  echo 'maj';
}
}

我不知道是什么问题,因为当我在登录控制台时,'maj'或'create'出现......

如果你们中有人知道为什么它不起作用,我将非常感激。谢谢!

编辑:这是我的$ count变量的作用,只是检查行是否已经存在。

 $checkcookie = "SELECT option_cms_name FROM testCookie WHERE option_cms_name='cookies'"; 
$proccesscookie = $conn->query($checkcookie);
$count = mysqli_num_rows($proccesscookie);
编辑2:我刚刚发现了这个问题而且非常愚蠢,我的php文件末尾只有两行空行。我用

检查了显示的字符数
var numbmsg = msg.length;
alert(numbmsg);

它显示5,而它应该是3 - >这两个空行在我的PHP结尾。 谢谢! =)

1 个答案:

答案 0 :(得分:0)

你能尝试改变这样的PHP代码:

注意:我不知道变量 $ count 的含义。

$msg = 'post is empty';
if (!empty($_POST)) { 
if($count == 0){
$sql = "INSERT INTO testCookie (
  `option_cms_name`,
  `option_cms_value`, 
  `option_cms_type`,
  `option_cms_version`,
  `option_cms_libelle`,
  `option_cms_description`,
  `option_cms_lien`,
  `option_cms_active`,
  `option_cms_date_crea`,
  `option_cms_modif`,
  `option_cms_users_id`
  )
  VALUES 
  ('cookies', '".$cookievarstock."','script' ,'1.0' ,'Cookies' ,'Barre dinformation sur les cookies' ,'' ,'1' ,'2015-12-08 14:14:00' ,'".$cookiedate."' ,1);";
    $msg = 'create';
}
else{
$sql = "UPDATE testCookie SET option_cms_value='".$cookievarstock."' WHERE option_cms_name='cookies';";
  $msg = 'maj';
}
}
echo $msg;