首页 > 解决方案 > 通过 onclick 向 javascript 发送变量时未捕获的引用错误

问题描述

我试图将一个 php 变量发送到一个 javascript 函数,以便我可以使用 ajax 发布它但是我一直收到错误:未捕获的 ReferenceError:“用户名”未定义。(出于隐私原因更改了用户名的位置)我正在画画空白作为问题可能是什么,因为它与以前的功能正常工作。我做错了什么

我尝试将用户名转换为字符串,以及清除语法错误,但无济于事。

   <?php
    foreach($arrlist as $farr){
    $onlineusersquery = mysqli_query($con,"SELECT * FROM users WHERE 
    username = '$farr' AND online = '2'");
    $onlineusers = mysqli_fetch_assoc($onlineusersquery);
    if(in_array($farr,$onlineusers)){
    $recipient = (string)$farr;
    print "<span class=openclick style=cursor:pointer;margin- 
   left:2vmax;position:relative; onclick=friendinteract(".$num.")>".$farr." 
   </span></br>";
    print"<div class=friendinteract>";
    print "<span class=message onclick=message(".$num.") style=margin- 
   left:3vmax;cursor:pointer;position:relative;color:#fffff1;>Message</span> 
   </br>";
    print "<span class=chat onclick=chat(".$recipient.") style=margin- 
   left:3vmax;cursor:pointer;position:relative;color:#fffff1;>Chat</span>";
    print"</div>";
    $num++;
     }
    }
    ?>
    <script type="text/javascript">
    function chat(recipient){
    var username = recipient;
    $.post("chat.php", {usernumber: username}, function(result){
     console.log(result)
     });
    }
    </script>

我希望将变量发送到函数,以便可以发布它但是我收到 Uncaught ReferenceError: "username" is not defined

标签: javascriptphpjqueryhtml

解决方案


如果这不起作用,您可以使用 jQuery

用下面的这个替换跨度:

"<span class='chat' data-user='".$recipient."' style='margin-      left:3vmax;cursor:pointer;position:relative;color:#fffff1;'>Chat</span>";

在 jquery 中使用它

$('.chat').on('click',function(){

    var username= $(this).attr(data-user);

$.post("chat.php", {usernumber: username}, function(result){
 console.log(result)
 });


    });

推荐阅读