javascript - 尝试使用 jQuery 连接 php echo 显示成功消息

标签 javascript php jquery

我正在尝试使用 jQuery 消息创建恢复密码系统,但遇到了问题。 下面的代码工作正常,当我单击按钮恢复我的用户名和密码时,我收到消息 <p class="sucess">Email sent with your data..</p> 。 但我想将用户的电子邮件放在消息中。像这样:

<p class="sucess">Email sent with your data for email@example.com!</p>

我在我的 php 中尝试这样

else {
        echo 'sucess'; //here I show the jQuery message
        echo $result['email']; //and then I want to show my $result['email']
        return; 
      }

我已经尝试过这样的操作:

echo 'sucess'.$result['email'].'';

但我总是遇到同样的问题,我在我的 jQuery 中输入:

else
  {
     alert('Error in system');
}

如果我不将这个 echo 放入 $result['email'] 中,成功消息工作正常,但是当我尝试 echo 我的 $result['email'] 时,我总是进入这个 jQuery 条件。 有人知道为什么会发生这种情况吗?

我的PHP:

   switch ($action){
    case 'recover':
        $email = $_POST['email'];

        if($email == ''){
        echo 'errorempty';
        }else{  
        $searchEmail = $pdo->prepare("SELECT * FROM admins WHERE email=:email"); 
        $searchEmail->bindValue(":email", $email);   
        $searchEmail->execute();
        $num_rows = $searchEmail->rowCount();
        $result = $searchEmail->fetch(PDO::FETCH_ASSOC);

        if($num_rows <=0 )
        {

        echo 'erroremail';
        return;
        }

        else {

        echo 'sucess';
        echo $result['email'];
        return; 
        }
        }
        break;
        default:

        echo 'Error';

    }
}

我的 jQuery:

$('#recover').submit(function(){
        var login = $(this).serialize() + '&action=recover';
        $.ajax({
            url: 'switch/login.php',
            data: login,
            type: 'POST',
            success: function(answer){
                if(answer== 'erroempty'){
                    $('.msg').empty().html('<p class="warning">Inform your email!</p>').fadeIn('slow');
                }
                else if (answer == 'erroemail'){
                    $('.msg').empty().html('<p class="error">Email dont exist!</p>').fadeIn('slow');

                }
                else if(answer == 'sucess'){
                    $('.msg').empty().html('<p class="sucess">Email sent with your data..</p>').fadeIn('slow');
                    window.setTimeout(function(){
                        $(location).attr('href','dashboard.php');
                 },1000);
               }
                else{
                    alert('Error in system');
                }

            },
            beforeSend: function(){
                $('.loginbox h1 img').fadeIn('fast');
            },
            complete: function(){
                $('.loginbox h1 img').fadeOut('slow');
            },
            error: function(){
                alert('Error in system');
            }

       });
        return false;
    });

最佳答案

您可以像这样简单地回显$email

$email=$result["email"];
echo $email;

然后在ajax成功函数中

if(answer.email)
{
 $('.msg').empty().html('<p class="sucess">Email sent with your data..'+answer.email+'</p>').fadeIn('slow');
}

关于javascript - 尝试使用 jQuery 连接 php echo 显示成功消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23043868/

相关文章:

javascript - 获取一组单选按钮值

javascript - box2d 力(applyimpulse 和 applyforce)

javascript - javascript 中的递归制作数组,来自 codeacademy

javascript - 如何通过javascript或CSS实时改变 slider 上的数字?

javascript - 将图标替换为 jqgrid 中的其他自定义图标

javascript - 滚动条出现在滚动条上

javascript - 如何使用 Twig 中实体的现有数据预先填充集合原型(prototype)?

来自mysql查询结果的php数组

php - Magento - 如何运行此自定义产品属性脚本

javascript - 在提交时单击按钮启用下一个选项卡?