Php 如何通过javascript传递多个参数? 变量a=; var b=; 窗口。父级。清除(a,b);

Php 如何通过javascript传递多个参数? 变量a=; var b=; 窗口。父级。清除(a,b);,php,javascript,Php,Javascript,这个clear函数已经在js中定义了。当我传递一个变量时,它运行正常,但有两个变量失败。我看不出哪怕只有一个参数也能工作,因为您的json\u encode调用在JavaScript代码中,而不是PHP中 以下是最小更改版本: <?php $a ='a'; $b='b'; ?> <script type="text/javascript"> var a=<?php json_encode($a); ?>; var b=<

这个clear函数已经在js中定义了。当我传递一个变量时,它运行正常,但有两个变量失败。

我看不出哪怕只有一个参数也能工作,因为您的
json\u encode
调用在JavaScript代码中,而不是PHP中

以下是最小更改版本:

<?php 
   $a ='a'; 
    $b='b'; 
?>
<script type="text/javascript">
    var a=<?php json_encode($a); ?>;
    var b=<?php json_encode($b);   ?>;
    window.parent.clear(a,b); 
</script>
(我假设值
'a'
'b'
是占位符,而不是实际数据。)

或者如果您使用短标签:

<?php 
    $a ='a'; 
    $b='b'; 
?>
<script type=text/javascript>
    window.parent.clear(
        <?php echo json_encode($a); ?>,
        <?php echo json_encode($b); ?>
    );
</script>
在值周围加引号:

<script type=text/javascript>
<!-- Error here--^        -->

…因为JavaScript是HTML5的
脚本的官方默认值,并且一直是所有浏览器(甚至IE)的默认值。

您是如何运行代码的?…我不太清楚,因为我看到您试图将php代码直接用于JavaScript?

可能,你想要传递一个像这样的物体

<script>

变量a=;
清楚(a);
如果您使用:

<?php 
    $a = array('a','b');
?>
<script type=text/javascript>
    var a=<?=json_encode($a)?>; 
    clear(a); 
</script>

您不能对
$a
&
$b
进行json_编码,因为它们不是数组。

请尝试以下操作:

<?php 
    $a ='a'; 
    $b='b'; 
?>

变量a=;
var b=;
console.log(a.firstVal);
console.log(b.secondVal);
窗口。父级。清除(a,b);

请在开始时忽略e,这没什么@Ashish:您可以使用问题下的“编辑”链接来更正问题。您会遇到什么错误?你能发布clear函数吗;var b=您必须显示,
clear()
应该做什么。@AshishPandey:是的,但它不在PHP部分。它只是在JavaScript中。如果没有
,该文本将直接发送到浏览器(在那里它将失败,因为JavaScript引擎没有
json\u encode
函数,如果有,它就不会有变量
$a
$b
)。嘿,我已经更正了!但它似乎仍然不起作用,我在js文件中用多个参数声明了clear Function,所以声明不应该是一个problem@AshishPandey:我从未说过函数声明有问题。你是在说我对
脚本
标签的看法吗?这绝对是错误的。正如我所说,浏览器可能会接受它,但你应该修复它。@AshishPandey:希望这有帮助!如果答案是其他的,最好的办法是把你自己的答案贴在你的问题上(这在这里很好),然后在允许的时候接受(两天后)。
<script>
<?php 
    $a = array('a','b');
?>
<script type=text/javascript>
    var a=<?=json_encode($a)?>; 
    clear(a); 
</script>
<?php 
    $a ='a'; 
    $b='b'; 
?>
<?php 
  $a = array('firstVal' => 'a'); 
  $b= array('secondVal' => 'b'); 
?>
<script type="text/javascript">
   var a=<?php echo json_encode($a); ?>;
   var b=<?php echo json_encode($b);   ?>;
   console.log(a.firstVal);
   console.log(b.secondVal);
   window.parent.clear(a,b);
</script>