php - JavaScript 重定向

标签 php javascript redirect

这是我的代码,

<script language="JavaScript">
    var url = "http://localhost:8888/uploads/"+<? $name ?>+"/output.txt";
    setTimeout("top.location.href = url",1000);
</script>

$name 是一个 PHP 变量,它具有我要重定向到的目录的名称。

不用说,它不起作用。它出什么问题了?我对 javascript 了解不多,所以我可能做了一些愚蠢的事情

谢谢

最佳答案

如果您混合使用 PHP 和 JavaScript,始终建议您检查发送到浏览器的输出:右键单击您的网站并单击查看源代码!

JavaScript 不关心发送给它的内容是静态 HTML、来自数据库还是由 PHP 生成。如果它在输出中,它将对其进行解析。

如果您这样做了,您会注意到您没有回显$name 变量。

<script language="JavaScript">
    var url = "http://localhost:8888/uploads/"+<? echo $name ?>+"/output.txt";
    setTimeout("top.location.href = url",1000);
</script>

但这会给你

<script language="JavaScript">
    var url = "http://localhost:8888/uploads/"+ foo +"/output.txt";
    setTimeout("top.location.href = url",1000);
</script>

这不是有效的 JavaScript,因为 foo 现在是 JS 变量,而不是字符串。

所以你应该:

<script language="JavaScript">
    var url = "http://localhost:8888/uploads/<? echo $name ?>/output.txt";
    setTimeout("top.location.href = url",1000);
</script>

此外,不推荐将字符串传递给setTimeout(或setInterval);出于同样的原因反对使用 eval() ,所以你最终应该得到这样的东西:

<script language="JavaScript">
    var url = "http://localhost:8888/uploads/<? echo $name ?>/output.txt";
    setTimeout(function () {
        top.location.href = url
    },1000);
</script>

关于php - JavaScript 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6218313/

相关文章:

php - 在字符串末尾查找最长的字典单词

Javascript - 替换所有数字标签

javascript - 将json数据绑定(bind)到kendo grid

javascript - 静态多语言 javascript 重定向不断重新加载页面

c# - ASP.NET MVC3 中表单的 ReturnUrl

PHP 变量作用域

javascript - 从上一页表单数据填写表单字段

javascript - 如何从 flash as3 获取文本和矩形颜色?

输入密码后 JavaScript 简单重定向

PHP:计算 session 中数组的数量