簡體   English   中英

window.location.replace 在 JavaScript 中不起作用

[英]window.location.replace not working in JavaScript

根據我的 JavaScript 代碼,window.location 在收到真實響應后不起作用。 但是,我已經使用了可能的方法來使用它,但似乎有問題,或者我做錯了。

這是我的代碼:

  $(function() {
  var url = $(".url").val();
  // start sign up functionality
  $(".signupbtn").on('click', function() {
      $('html, body').animate({
          scrollTop: $(".toppage").offset().top - 100
      }, 'slow');
      $.post("<?php echo base_url();?>account/signup",
          $("#headersignupform").serialize(),
          function(response) {
              if ($.trim(response) == 'true') {
                  $(".resultsignup").html(response);
                  //THIS SECTION NOT WORKING
              } else {
                  $(".resultsignup").html(response);
                 // THIS SECTION WORKS
              }
          });
  });
  // end signup functionality
  })

在我上面提到的本節不工作中,我使用了以下所有行,但在真正響應后它不起作用:

  • window.location.replace(url);
  • window.location.href = '網址鏈接';
  • window.location(url);
  • window.location.href = 'url 鏈接'; 返回假;
  • window.location(url); 返回假;
  • window.location.replace(url); 返回假;
  • window.top.location = '[url]'
  • window.top.location = '[url]'; 返回假;
  • location.assign("url");
  • 位置=“網址”;
  • location.reload(true);

但在本節 WORKS 中,所有上面和下面的代碼都有效。 我的意思是在 else 之后意味着響應是錯誤的。 ((我不需要在錯誤響應中使用它,但它有效!!))

僅供參考,響應 False 和 True 兩者都運行良好。

為什么我需要這個? 因為在真正響應后我需要重置表單字段,對於這個問題,我還使用了以下幾行,但再次不起作用:

  • $('#headersignupform')[0].reset();

  • document.getElementById("headersignupform").reset();

  • $('form[name="headersignupform"]')[0].reset();

  • $("#headersignupform").get(0).reset();

解決方案

我通過將響應作為 HTML 添加到 JavaScript 而不是通過從 Ajax 發布的 HTML 解決了這個問題。

window.location 工作,如果你使用代碼例如:

location.assign("http://www.mozilla.org"); // or
location = "http://www.mozilla.org";

你可以看看: https : //developer.mozilla.org/en-US/docs/Web/API/Window/location

window.top.location = '[your URL]'就是你想要的。

下面的代碼像魔術一樣工作

window.history.pushState("", "", "new url"); window.location.reload();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM