首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ajax反馈(.done)(函数(反馈)不考虑“反馈”部分

Ajax反馈(.done)(函数(反馈)不考虑“反馈”部分
EN

Stack Overflow用户
提问于 2015-12-10 01:31:06
回答 1查看 23关注 0票数 3

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

这是我的JS,唯一不起作用的是done函数,它从不考虑"msg“部分,它总是显示"failed”。

代码语言:javascript
运行
复制
$(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’,具体取决于所做的操作。

代码语言:javascript
运行
复制
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’...

如果你们中的任何人知道为什么它不工作,我将非常感激。谢谢!

EDIT :下面是我的$count变量所做的事情,只是检查行是否已经存在。

代码语言:javascript
运行
复制
 $checkcookie = "SELECT option_cms_name FROM testCookie WHERE option_cms_name='cookies'"; 
$proccesscookie = $conn->query($checkcookie);
$count = mysqli_num_rows($proccesscookie);

编辑2:我刚刚发现了这个问题,这很愚蠢,我的php文件的末尾只有两行空行。我检查了显示的字符数

代码语言:javascript
运行
复制
var numbmsg = msg.length;
alert(numbmsg);

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

EN

回答 1

Stack Overflow用户

发布于 2015-12-10 01:41:48

你可以试着这样修改php代码吗:

注意:我不知道你说的$count是什么意思。

代码语言:javascript
运行
复制
$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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34185236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档