未被捕获的ReferenceError:未定义$ data

时间:2019-03-09 18:40:33

标签: javascript php

对不起,我对编程特别是Java脚本非常陌生。请帮我。

我正在使用php从db获取和更新数据。而且我正在尝试使用JavaScript函数onclick从数据库中获取数据,但始终出现相同的错误。

首先是我已经获取了我的数据。 并将其存储在变量$data中,但我按照观看的视频教程应用了json_encode,但不幸的是我的代码无法正常工作。我不知道为什么。

这是我初始化代码的方式:

//This is foreach loop with a variable of $user where all the data has been stored in array(I'm not sure), before the line of this code below.
$data = json_encode($user, true);

//In my link/href where I'm getting an error that my $data is not defined. 
<a href='javascript:getUpdateUser($data);' id='edit'> EDIT </a>

//and my script
<script>
function getUpdateUser(user) {
    alert(user);
}
</script>

3 个答案:

答案 0 :(得分:2)

您需要返回PHP模式以回显该变量。

<a href='javascript:getUpdateUser(<?php echo $data; ?>);' id='edit'> EDIT </a>

此外,json_encode()的第二个参数不是布尔值,而是一个包含标志的整数。您将其与json_decode()混淆,后者使用第二个参数来确定是返回对象还是关联数组。设置$data时应为:

$data = json_encode($user);

答案 1 :(得分:0)

  • 首先文件必须以“ .php”扩展名
  • 这是修复方法:

    <a href='javascript:getUpdateUser("<?php echo $data; ?>");' id='edit'> EDIT</a>
    

您应该在$datahtml之外的php中访问变量{JS}

您有两种方式打印变量

1. <?php echo $data; ?>

2. <?= $data; ?>

更新

无论如何, 您必须分开开发语言:

<?php 
//This is foreach loop with a variable of $user where all the data has been stored in array(I'm not sure), before the line of this code below.
$data = json_encode($user, true);
?>

//In my link/href where I'm getting an error that my $data is not defined. 
<a href='javascript:getUpdateUser("<?php echo $data; ?>");' id='edit'> EDIT </a>

//and my script
<script>
function getUpdateUser(user) {
    alert(user);
}
</script>

答案 2 :(得分:0)

在php标签内写入$ data:

<a href='javascript:getUpdateUser(<?=$data?>);' id='edit'> EDIT </a>