简体   繁体   English

jQuery Ajax 在页面刷新之前响应只工作一次

[英]jQuery Ajax Response works only once until page refresh

This is simple subscriber form submit with jQuery Ajax, everything is working fine but alert response show only one time until page refresh.这是使用 jQuery Ajax 提交的简单订阅者表单,一切正常,但警报响应仅显示一次,直到页面刷新。

Here is my view code:这是我的视图代码:

$(document).ready(function () {
  $("#ssubmit").click(function (e) {
    e.preventDefault();
  
    let subscriber = $("#subscriber").val()
    subscriberdata = {subscriber: subscriber,}
  
    $.ajax({
      type: "POST",
      url: "form-process.php",
      data: JSON.stringify(subscriberdata),
      success: function (response) {
        subscribersucess = "<div class='alert alert-success text-center mt-3'>" + response + "</div>";
        $("#alerts").html(subscribersucess);
  
        setTimeout(function(){
          $('#alerts').fadeOut("slow");
        },5000)
  
        $("#subscriberform")[0].reset();
      }
    });
  
  })
});

How can I fix this issue?我该如何解决这个问题?

This is happening because you are using fadeout function. Once fadeout happens display becomes none.发生这种情况是因为您正在使用淡出 function。一旦淡出发生,显示就会变为无。 And it will only works when you refresh the page.它只会在您刷新页面时起作用。

You can use below code您可以使用以下代码

let subscriber = $("#subscriber").val()

subscriberdata = {subscriber: subscriber,}

$.ajax({
  type: "POST",
  url: "form-process.php",
  data: JSON.stringify(subscriberdata),
  success: function (response) {

    subscribersucess = "<div class='alert alert-success text-center mt-3'>" + response + "</div>";
    $('#alerts').show().html();
                $("#alerts").html(subscribersucess);    
                    $('#alerts').delay(5000).fadeOut(); 
    


    $("#subscriberform")[0].reset();

  }

});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM