[英]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
})
在我上面提到的本節不工作中,我使用了以下所有行,但在真正響應后它不起作用:
但在本節 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.