[英]How to pass via url a PHP variable to be inserted in a JS script url
[英]Pass php variable via js/jquery redirect url function
在我的PHP中,我想通过javascript / jquery重定向带有js函数的php变量的URL。
我的js功能
function Redirect(url){
document.location.href=url;
}
在我的php页面中,我尝试用这种方式,但是我担心$ url中的语法有问题。
if ($opz = 1){
$url = "index.php?opz=OK#PG2&id=" . $_GET['id'];
echo "<script>";
echo "$(function(){ Redirect($url); });";
echo "</script>";
}
如果我尝试通过这种方式进行重定向,那么一切都会正常运行(没有重定向功能)。
echo "<script>
document.location.href='index.php?opz=OK#PG2&id=$_GET[id]'
</script>";
谁能建议我通过js Redirect函数传递php变量的正确语法是什么? 谢谢。
为什么您尝试使用javascript重定向网页。
您也可以使用PHP。 使用PHP header()
函数重定向页面。
if ($opz = 1){
$url = "index.php?opz=OK#PG2&id=" . $_GET['id'];
header("Location:".$url);
}
您的问题很简单:
echo "$(function(){ Redirect($url); });";
应该替换为
echo "$(function(){ Redirect('$url'); });";
只需更改echo "$(function(){ Redirect($url); });";
至
echo "$(function(){ Redirect('$url'); });";
注意引号。 url将作为字符串传递给Redirect函数。 因此,将其用单引号引起来。 如Redirect('$url');
假设正在生成的Javascript代码可以运行window.location
尝试如下
if ($opz = 1){
$param = 'opz='.urlencode("OK#PG2").'&id='.$_GET['id'];
$url = "index.php?".$param;
echo "<script>";
echo "$(function(){ Redirect($url); });";
echo "</script>";
}
并使用urldecode()获取opz ;
该问题是由于您生成的HTML如下所示而引起的:
Redirect(index.php?opz=.....);
如您所见,您缺少引号。
要将PHP中的变量放入JavaScript,我总是使用json_encode
。 这样可以确保,无论我通过什么,JavaScript都可以看到相同的东西。 它负责引用,转义,甚至遍历数组和对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.