在php echo语句中使用jQuery Ajax
我试图在php语句中回显一些javascript和jQueryAjax代码,并从jQueryAjax发送一个mysql查询。我动态地输入用户的姓名,并在他们面前显示一个发送好友请求按钮,就像在Facebook上一样 下面给出了一小部分代码,我无法理解它为什么不工作。不会执行request.php文件中的任何语句,数据库中也不会发生任何更改在php echo语句中使用jQuery Ajax,php,jquery,ajax,Php,Jquery,Ajax,我试图在php语句中回显一些javascript和jQueryAjax代码,并从jQueryAjax发送一个mysql查询。我动态地输入用户的姓名,并在他们面前显示一个发送好友请求按钮,就像在Facebook上一样 下面给出了一小部分代码,我无法理解它为什么不工作。不会执行request.php文件中的任何语句,数据库中也不会发生任何更改 echo '<input type = "button" id = "' . $data['user_id'] . '" value = "Send F
echo '<input type = "button" id = "' . $data['user_id'] . '" value = "Send Friend
Request" onClick = "send_request(this.id);"/>' ;
最好的答案是将它放在自己的JS文件中,并在点击该按钮时动态调用它 在回显动态Javascript的函数定义行后面缺少一个{。
为什么要将所有JS放在php标记中?为什么不放在自己的JS文件中?因为我正在动态输出html。您会注意到输入标记也会回显。您的连接似乎在这里被破坏
id=“”。{$data['user_id']}.”
那里没有问题。那里的id很好。我正在DOM元素中使用它。@Sasha从request.php给我们提供更多的代码。可能是其他地方有问题。可能是查询有问题吗?我希望我可以。但是按钮必须在if条件下生成,而不是在其他情况下。您可以使用if语句b生成按钮但是当点击按钮时运行的JavaScript总是可以放在那里。由于按钮被回响,它无法调用.js文件中的JavaScript。我似乎找不到它。有3{和3}。在上面代码块的这一行之后:echo“函数send\u request(\u id)可能是代码块中没有显示。您是否尝试过在Firefox中运行代码并使用Firebug对其进行调试。这是我通常对代码执行的操作,以查看是否有任何Javascript无法正常工作。
echo "<script type = 'text/javascript'>" ;
echo "function send_request(_id)
val = document.getElementById(_id).value ;
if (val == 'Send Friend Request')
val = 'Cancel Friend Request' ;
else
val = 'Send Friend Request' ;
document.getElementById(_id).value = val ;
$.ajax
(
{
type: 'post',
url: 'request.php',
data: {id: _id}
}
) ;
}" ;
echo "</script>" ;
$id = $_POST['id'] ;
$userid = $_SESSION['userid'] ;
$query = "INSERT INTO friend (friend_id, user_id) VALUES ('$id', '$userid')" ;
$result = mysql_query($query)