使用 setTimeout 进行 Javascript 重定向

dpD*_*gnz 4 javascript redirect settimeout

我有一个按钮,我想运行一段脚本然后重定向,但是什么也没发生

我有另一个页面使用类似的代码并且可以工作。但这只是行不通

工作代码:

<a href="javascript:void(0);" onclick='$.get("features.php",{ cmd: "confirm_order", id: "<?php echo $o_id; ?>", name: "<?php echo $_SESSION['user_name']; ?>" email: "<?php echo $_SESSION['user_email']; ?>"};setTimeout("window.location.href=order.php?order_id=<?php echo $o_id;?>", 100);' class="button">
Run Code Online (Sandbox Code Playgroud)

已经在不同页面上运行的代码:

<a href="javascript:void(0);" onclick='$.get("features.php",{ cmd: "remove", id: "<?php echo $o_id; ?>", prod: "<?php echo $row_prod['prod_id']; ?>" });setTimeout("window.location.href=window.location.href", 100);'>
Run Code Online (Sandbox Code Playgroud)

现在我知道这完全与我的 setTimeout 有关,我只是不确定我做错了什么。

编辑

现在链接:

<a href="javascript:void(0);" class="button confirm">Confirm</a>
Run Code Online (Sandbox Code Playgroud)

链接下方的代码:

<script type="text/javascript">
$('a .confirm').on('click',function(e){
    $.get("features.php",{
        cmd: "confirm_order",
        id: "<?php echo $o_id; ?>",
        name: "<?php echo $_SESSION['user_name']; ?>",
        email: "<?php echo $_SESSION['user_email']; ?>"
    });
    setTimeout(
        function(){
            window.location = "order.php?order_id=<?php echo $o_id;?>" 
        },
    100);
});
</script>
Run Code Online (Sandbox Code Playgroud)

仍然无法正常工作,并且正在\"代码中呈现

Isa*_*lez 6

我同意 Felix Kling 的评论,即您不应该向 html 属性添加那么多代码。我看到您正在使用 jQuery,那么为什么不将其添加到您的 javascript 代码中:

$('a .button').on('click',function(e){
    $.get("features.php",{ 
          cmd: "confirm_order",
          id: "<?php echo $o_id; ?>",
          name: "<?php echo $_SESSION['user_name']; ?>", // you were missing this comma 
          email: "<?php echo $_SESSION['user_email']; ?>"
        }).done(function(){
             window.setTimeout( function(){
                 window.location = "order.php?order_id=<?php echo $o_id;?>";
             }, 100 );
        }); // you where missing this parenthesis          

  e.preventDefault(); 
});
Run Code Online (Sandbox Code Playgroud)