URL PHP完成后,Ajax成功未运行

时间:2018-06-26 11:23:08

标签: php jquery html ajax

我具有检查电子邮件,名字和姓氏的功能。

function checkcontactdetails(){
var details = {
  'email'       : jQuery('#email').val(),
  'first_name'  : jQuery('#first_name').val(),
  'last_name'   : jQuery('#last_name').val(),
 };
 jQuery.ajax({
   url          :   'checkcontactdetails.php',
   type         :   'POST',
   data         :   details,
   success      :   function(data){
      if(data != 'passed'){
         jQuery('#payment-errors-step2').html(data);
      }
      if(data == 'passed'){
          $('.step3').show();
          $('#payment-errors-step2').html("");
      }
   },
   error : function(){alert("Something Went Wrong");},
 });
} 

该函数在这里调用:

<button class="btn btn-primary btn-sm" type="button" id="checkoutbtn1" onclick="checkcontactdetails();">Next Step1</button>

错误在这里:

<span class="bg-danger" id="payment-errors-step2"></span>

这是我的checkcontactdetails.php页面,名为:

<?php
  include 'core/initial.php';

  $email      = sanitize($_POST['email']);
  $first_name = sanitize($_POST['first_name']);
  $last_name  = sanitize($_POST['last_name']);

  $errors = array();
  $required = array(
    'email'     => 'Email',
    'first_name'=> 'First Name',
    'last_name' => 'Last Name',
  );

  //Check if all required fields are filled out
  foreach($required as $f => $d){
    if(empty($_POST[$f])  || $_POST[$f] ==  ''){
      $errors[] = $d.'  is required.';
    }
  }

  //Check if valid email address
  if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
    $errors[] = 'Please enter a valid email.';
  }

  if(!empty($errors)){
    echo display_errors($errors);
  }else {
    echo 'passed';
  }

 ?>

到目前为止,我已完成对按钮执行情况的测试,并收到一条警告,指出“通过” 因此,我知道ajax调用已成功完成,因为a)我“通过”了,b)通过以下代码消除了错误:

if(data != 'passed'){
   jQuery('#payment-errors-step2').html(data);
 }

我要做的是一旦成功通过“成功”以显示流程的下一步,在本例中为步骤3,并清除错误(如果存在)。

我一直在处理这个问题,我认为我的语法正确,因此我有其他类似的设置功能(可以正常工作),但是由于某种原因,该功能不起作用。

请注意,我已将每个步骤设置为显示:无,因此显示步骤的唯一方法是通过功能执行此操作。

任何帮助将不胜感激。

谢谢

0 个答案:

没有答案