Ajax Json 没有成功

问题描述 投票:0回答:1

邮件发送成功后,不会进入

if(data.type == 'success')
部分。但如果我输入不存在的电子邮件,它会转到
else if(data.type == 'error')
部分。如果电子邮件成功发送,则会转到错误部分
error: function(data) {

这是带有 JSON 和 AJAX 的 jQuery:

   $(document).ready(function(){ $("#reset-password-form").on("submit", function(e){
     e.preventDefault();
     var token = $('#token').val();
     var email = $('#email').val();
     $.ajax({
       url: "reset-password-ajax.php",
       type: "POST",
       data: { email:email,token:token},
       dataType: 'json',
       success: function (data) {

         if(data.type == 'success') {
           alert("SUCCESS");
           $('#reset-password-button').html(
      "<span class='spinner-border spinner-border-sm' role='status' aria-hidden='true'></span> Laden..."
        );
           // window.location='pending.php?email='+email;
           $(".hideForDynamicPending").hide();
           $("#pageTitle").html("<b>Password reset</b>");
           $("#insertUsersEmail").text(email);
           $("#pending-form").show();

         } else if(data.type == 'error') {
           alert("ERROR");
           $("#message").html("<div class='alert alert-danger resizeFont' style='text-align:center;'>"+data.text+"</div>");
            $('.hideForOtherMessage').hide();
         }
       },
       error: function(data) {
         data2 = JSON.stringify(data);
  console.log(data);
},
     });
   });
   });

这是来自

reset-password-ajax.php
的一些代码:

  if($mail->send())                             //Send an Email. Return true on success or false on error
          {
            $output = json_encode(array('type' => 'success', 'text' => "SuccessRedirectToIndex"));
            die($output);
          }
        } else {
          $output = json_encode(array('type' => 'error', 'text' => "Mail could not be send"));
          die($output);
          }
      }
     } else {
        $output = json_encode(array('type' => 'error', 'text' => "Robot verification failed. ".$response));
        die($output);
    }

所以它确实让我知道 reCaptcha 是否有问题。

我该如何调试这个问题以及如何解决这个问题?

OUTPUT 控制台最后显示此内容:

Bye&quot;<br>\n2024-02-13 18:24:43 SERVER -&gt; CLIENT: 221 2.0.0 Bye<br>\n2024-02-13 18:24:43 Connection: closed<br>\n{\"type\":\"success\",\"text\":\"SuccessRedirectToIndex\"}","status":200,"statusText":"parsererror"}

解析器错误?

php jquery json ajax
1个回答
0
投票

为什么会死($output)?您需要“回显”前端的数据。

© www.soinside.com 2019 - 2024. All rights reserved.