繁体   English   中英

无法使用javascript重定向

[英]not able to redirect using javascript

我想使用javascript进行重定向,但是我可以使用document.write()进行重定向,否则不能进行重定向。

document.write("You will be redirected to main page in 5 sec.");
setTimeout(redirect_admin(), 5 * 1000);

我想重定向页面而不使用document .write()整个代码:

$(document).ready(function () {
    btnsubmit = $("#btnLogin");

    btnsubmit.click(function () {
        //$("#preloader").show();
        //$("#status").show();
        var uName = $("#userName").val();
        var uPass = $("#pasWord").val();
        var str = -1;
        $.ajax({
            type: "Post",
            async: false,
            url: "Default.aspx/userLogin",
            data: '{"userName":"' + uName + '","userPassword":"' + uPass + '"}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                str1 = response.d;
                //$('#status').delay(300).fadeOut(); // will first fade out the loading animation
                //$('#preloader').delay(350).fadeOut('slow');
                str = str1;
            },

            failure: function (msg) {
                bootbox.alert("Please contact your administrator");
            }
        });
        redirectUser(str);
    })


    redirectUser = function (str) {
       if(str == 1){}
       ....
       else if(str ==6) {
          document.write("You will be redirected to main page in 5 sec.");
            setTimeout(redirect_admin, 5 * 1000);
        }

       function redirect_admin() {
        var nextUrl = location.protocol + "//" + location.host + "/AdminHome.aspx";
        window.location = nextUrl;
    }

不要在函数名称旁边使用()。

setTimeout(redirect_admin, 5 * 1000);

希望能帮助到你:)

除此之外,我不确定document.write将以何种方式阻止您正常工作。 您可以使用模式或Ajax加载器,甚至可以使用警报来代替document.write。 如果这是您的意思。

下面的代码为我工作

 $(document).ready(function () {
            $("#N").click(function () {

   setTimeout(function () {redirect_admin();}, 5000);
            });
        });

function redirect_admin() {

            window.location = "https://www.google.com";
        }

1.确保您的else条件块已执行

else if(str ==6) {
    console.log(str) 
    document.write("You will be redirected to main page in 5 sec.");
    etTimeout(redirect_admin, 5 * 1000);
}

2.在功能redirect_admin ,如果您在i框架中并希望重定向顶部框架, window.top.location window.location更改为window.top.location

function redirect_admin() {
    var nextUrl = location.protocol + "//" + location.host + "/AdminHome.aspx";
    window.top.location = nextUrl;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM