javascript - 通过 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
解决方案
如果这不起作用,您可以使用 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)
});
});
推荐阅读
- jquery - Youtube 数据 API:订单参数
- java - 在 HashMap 中使用嵌套的泛型类型
- c++ - constexpr 的按位运算会导致 constexpr 吗?
- mysql - Spring Boot 应用程序:java.lang.IllegalArgumentException:必须存在至少一个 JPA 元模型
- r - 完整的鼠标功能结果与 $imp 不匹配
- python - 虽然文本不在汤中:-即使存在,也没有捡起该文本在汤中
- gridview - Yii2 Gridview 表格显示数据
- css - 溢出/扩展某些元素的 CSS 网格区域
- function - Pyan3安装说明
- ios - CareKit 和 ResearchKit 冲突