我无法让它工作,页面已经有其他jquery函数运行得很好了,所以我知道jquery正在工作(jplayer和lazylod工作得很好)
这是我的javascript函数:
<script type="text/javascript">
function upone() {
$.get("upone.php");
return false;
}
</script>
这是我的链接
<a href="#" onclick="upone();">Like</a>
我的php文件"upone.php是:
<?php
include("include/config.php");
include("include/functions/import.php");
if(isset($_SESSION['USERID'])&&$_SESSION['USERID']>=0&&is_numeric($_SESSION['USERID']))
{
$USERID=$_SESSION['USERID'];
$query="INSERT INTO audio_like SET USERID='".mysql_real_escape_string($USERID)."'";
$result=$conn->execute($query);
}
?>
php文件运行良好,如果我手动链接到它,点击链接也会导致页面刷新,并将#添加到页面中。有什么想法吗?
编辑:误解问题
使用下面的代码可以解决单击链接后页面刷新的问题。之前发生这种情况的原因是onclick
属性没有返回false,换句话说,这将是正确的代码:<a href="#" onclick="return upone();">Like</a>
。下面的代码做了同样的事情,但结构稍微好一点。
HTML:
<a id="like" href="#" >Like</a>
JS:
$("#like").click(function(){
$.get("upone.php");
return false;
});
与其使用内联javascript,不如尝试这样做。
给"赞"链接一个类,例如:
<a href='#' class='likeLink'>Like</a>
使用以下内容代替当前部分:
<script>
$(function() {
$('.likeLink').click(function() {
$.get('upone.php', function(data) {
alert("Server Returned: " + data);
});
return false;
});
});
</script>
如果警报消息返回了您对PHP页面的期望,那么您可以将其注释掉以供生产使用。
顺便说一句,我今天很久以前就把这个打出来了,忘了我正在处理。很抱歉,如果已经解决了。