在window.location.replace中使用参数

3
我有以下脚本,它能正常工作:
if(error1 == 1){
    window.alert('You have already signed up!');
    window.location.replace('index.php');
    }

但是当我想使用以下URL而不是index.php时,它并没有替换参数:
if(error1 == 1){
    window.alert('You have already signed up!');
    window.location.replace('http://polimovie.deib.polimi.it/Version3/index.php?campaign=".$Campaign_id."&worker=".$Worker_id."');
    }

这段代码会将我重定向到 http://polimovie.deib.polimi.it/Version3/index.php?campaign=.$Campaign_id.&worker=.$Worker_id.,但我需要将参数替换为它们的实际数字。

我知道可以使用php header,我也在我的php代码中使用了它,并且两者都可以正常工作:

echo "<script>alert('PLEASE SIGN UP FIRST!');window.location = 'http://polimovie.deib.polimi.it/Version3/index.php?campaign=".$Campaign_id."&worker=".$Worker_id."';</script>";

但我想知道如何使用参数与 window.location.replace 一起使用。
谢谢。

JS是否在声明和填充这些变量的PHP文件中? - Gerton
2个回答

5

请尝试以下操作:

if(error1 == 1){
    window.alert('You have already signed up!');
    window.location.replace('http://polimovie.deib.polimi.it/Version3/index.php?campaign=<?php echo $Campaign_id; ?>&worker=<?php echo $Worker_id; ?>');
    }

如果这是一个php文件而不是js文件,上述方法将有效。

删除 echo 前的点号 - Gerton
此外,您不应该在获取变量时使用 ",因为它们是由 &*= 分隔的。 - Gerton
实际上,这是JavaScript的一部分。但是该文件被保存为PHP,因为它还包含PHP代码。 - mOna
@mOna,只要你在这些代码行上面声明了变量($Campaign_id$Worker_id),那就没问题。 - Gerton
是的 @mOna,你可以像那样使用。 - AnkiiG
太好了,干杯! :) - AnkiiG

3
在下面的代码中,我使用了product_id作为JavaScript变量。
var product_id=1;
window.location.replace("/newpage/page.php?id=" + product_id);

因此,如果您将此与您的代码进行比较,则需要将php变量的值放入javascript变量中,然后根据我在示例中提供的方法传递它们。

希望这能让您的一天更美好!

干杯 :) :P


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接