window.location.replace无法在JavaScript中运行

时间:2018-01-27 04:19:00

标签: javascript jquery

根据我的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
  })

在我上面提到的 THIS SECTION NOT WORKING 中,我使用了以下所有这些行,但在真正的响应之后它不起作用:

  • window.location.replace(URL);
  • window.location.href ='url link';
  • window.location的(URL);
  • window.location.href ='url Link';返回false;
  • window.location的(URL);返回false;
  • window.location.replace(URL); return false;
  • window.top.location ='[url]'
  • window.top.location ='[url]'; return false;
  • location.assign( “URL”);
  • location =“url”;
  • location.reload(真);

但在此部分工作中,所有上述和后续行代码都有效。我的意思是在其他意味着回应是错误的。 ((我在错误的回应中不需要它,但它可以工作!!))

FYI ,响应False和True两者都运行良好。

为什么我需要这个? 因为在真正的响应后我需要重置表单字段,对于这个问题,我也使用了以下这些行,但是再次无效:

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

  • 的document.getElementById( “headersignupform”)复位();

  • $( '形式[名称= “headersignupform”]')[0] .reset段();

  • $( “#headersignupform”)得到(0).reset段();

  

解决方案

     

我已经通过将响应作为HTML添加到JavaScript中来解决了这个问题   通过Ajax发布的HTML。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果您使用代码,

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

答案 2 :(得分:0)

下面的代码很神奇

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