js页面重定向按钮提交不适用于IE或Edge

js page re-direct on button submit not working with IE or Edge

我有一个用于数据输入的字段集。当页面上的更改完成时,提交按钮用于保存更改并重定向回索引页面。我的问题是基于 js 的重定向回主索引页面在 IE 或 Edge 浏览器中不起作用。输入字段保存正常。我已经尝试了我所知道的一切以及我能找到的所有在网上发布的东西,但都没有成功。

提交按钮代码如下:

<input type="button" name="Done" class="saveField action-button" value="Submit" />

这里是按钮js提交代码:

$(".submit").click(function() {

saveDetails();

})

这是重定向回索引页面的 saveDetails 代码 (admin.php):

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.assign 重定向没有任何问题。问题是机器+浏览器慢了,之前的location.reload还没有完成...当然js执行是异步的

我的解决方法是简单地删除 location.reload 调用。它是为一个过时的保存按钮调用而编写的,该按钮调用重新加载页面以验证所有输入字段是否已更新。新的提交按钮将字段和 returns 用户更新到表单索引页面,因此 location.reload 是 pointless/obsolete。

我在上面的代码中注释掉了这一行,所以现在这是一个工作示例。