我有一个用于数据输入的字段集。页面上的更改完成后,使用提交按钮来保存更改并将其重定向回索引页。我的问题是,基于JS的重定向返回主索引页面在IE或Edge浏览器中不起作用。输入字段可以保存正常。我已经尝试了我所知道的一切,并且可以找到在线发布的所有内容而没有成功。
这是提交按钮代码:
<input type="button" name="Done" class="saveField action-button" value="Submit" />
这是按钮JS提交代码:
$(".submit").click(function() {
saveDetails();
})
,这是RETHECT返回索引页面(admin.php(的Savedetails代码:
function saveDetails() {
form = "msform";
$.ajax({
url : 'classes/Process.php?page=saveDetails',
async : true,
type : 'post',
data : $('form#' + form).serialize(),
success : function(data) {
//location.reload();
$("#recstatus").val("edit");
window.location.assign("admin.php");
},
fail : function() {
// showPleaseWait(false);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
// showPleaseWait(false);
}
});
}
除了重定向外,一切正常。这是我到目前为止尝试的:
window.location.assign("admin.php");
window.location.replace("admin.php");
location.assign = "admin.php";
location.replace = "admin.php";
location.href = "admin.php";
window.location.assign('/admin.php');
window.location.assign('FULL HTTP ADDRESS URL');
如前所述,输入数据已处理好,只有在IE11或Edge中不起作用的重定向。重定向与Safari,Chrome和Firefox一起工作正常。
任何建议都将不胜感激。
尝试以下:
window.location.assign('/admin.php');
希望它有帮助。
已解决。window.location.sign重定向没有错。问题在于机器 浏览器速度很慢,并且先前的位置尚未完成...当然JS执行是异步的。
我的修复程序就是简单地删除位置。它是为过时的保存按钮调用而编写的,该按钮调用重新加载了页面以验证所有输入字段是否已更新。新的提交按钮将更新字段,并将用户返回表单索引页面,因此位置.reload毫无意义/过时。
我在上面的代码中评论了该行,因此这是一个工作示例。