繁体   English   中英

通过js / jquery重定向url函数传递php变量

[英]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.

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