我想通过AJAX传递2个值(#cpassword和#password),因此我可以比较这些值以检查它们是否匹配。我一直在尝试这样做,但似乎总是得到“ #cpassword”

这是我的cpassword-check.js文件:

// Validate confirm password while typing

$(document).ready(function()
{
 $("#cpassword").keyup(function()
 {
  var cpassword = $(this).val();

if (cpassword.length > 0)
{
$("#resultcpass").html('<i class="fa fa-circle-o-notch fa-spin loading-icon"></i>');


/*$.post("email-check.php", $("#reg-form").serialize())
.done(function(data){
$("#resultmail").html(data);
});*/

$.ajax({

type : 'POST',
url  : 'cpassword-check.php',
data : {
        $(this).serialize(),
        $('#password').serialize()
},
success : function(data)
    {
          $("#resultcpass").html(data);
       }
});
return false;

}
else
{
 $("#resultcpass").html('');
}

});


});


和..这是我的cpassword-check.php文件:

  <?php

  $host="localhost";
  $user="root";
  $pass="";
  $dbname="lr";

  $dbcon = new PDO("mysql:host={$host};dbname={$dbname}",$user,$pass);

  if($_POST['cpassword'])
  {
  $cpassword = strip_tags($_POST['cpassword']);
  $password = strip_tags($_POST['password']);

  if ( $cpassword != $password ){

       echo "<i class='fa fa-circle user-validation-w pull-right' aria-hidden='true'></i><span class='availability pull-right'> Must match with password</span>";

   } else  {

  echo "<i class='fa fa-check user-validation-ok pull-right' aria-hidden='true'></i><span class='availability pull-right'></span>";

 }
}
?>


我才刚刚开始学习,所以请慢慢解释。

谢谢。

最佳答案

您应该像@Curiousdev所说的那样在数据对象中使用属性名称。

请尝试以下操作:

data : {
  cpassword: $(this).val(),
  password: $('#password').val()
}

08-07 09:09