我正在尝试使用AJAX更新数据库中的某些数据。我已经制作了PHP脚本并测试它确实有效。我需要将两个变量传递给更新数据库的php脚本,所以我创建了一个javascript函数,用ajax调用php脚本并传递变量。
我想在用户点击我制作的upvote图像时运行该功能。然后应该更新数据库中的数据,并且需要更新upvote按钮和显示当前upvotes数量的数字。
这是我的javascript:
<script type="text/javascript">
function upvote(memeid, userid)
{
$.ajax({
url : 'scripts/upvote.php', // give complete url here
type : 'post',
data : 'id='+memeid+'&bruger_id='+userid,
success : function(msg){
alert('success');
}
});
});
</script>
这是从中调用函数的php代码。
echo '<img id="upvote" onClick="upvote('.$feed[$loaded]["memid"].','.$feed[$loaded]["userid"].')" src="images/neutral_up.png" width="20px">';
我的upvote.php文件:
<?php
//Script til at upvote memet
include 'db_connect.php';//Connect til databasen
$id = $_POST['id'];//Memets id som fanges fra linket
$bruger_id = $_POST['bruger_id'];//Brugerens id som fanges fra linket
$cookiename = "yems".$id;//Sætter navn på cookie ud fra memets id
if($_COOKIE[$cookiename] == 2)//Hvis brugeren allerede har downvoted memet
{
mysql_query("UPDATE memes SET ned=ned-1 WHERE id='".$id."'");//Fjern en downvote fra memets
mysql_query("UPDATE memes SET up=up+1 WHERE id='".$id."'");//Tilføj en upvote til memet
mysql_query("UPDATE brugere SET up=up+1 WHERE id='".$bruger_id."'");//Giv brugeren som har lavet memet en upvote
mysql_query("UPDATE brugere SET ned=ned-1 WHERE id='".$bruger_id."'");//Fjern en downvote fra brugeren som har uploadet memet
$expire=time()+60*60*24*365*10;//Sæt en expire tid på 10 år til cookien
setcookie($cookiename, "1", $expire, '/');//Sæt cookie som siger at den nuværende bruger har upvoted memet.
}else if($_COOKIE[$cookiename] != 1){//Hvis den nuværende bruger ikke allerede har upvoted eller downvoted memet.
mysql_query("UPDATE memes SET up=up+1 WHERE id='".$id."'");//Giv memet en upvote
mysql_query("UPDATE brugere SET up=up+1 WHERE id='".$bruger_id."'");//Giv brugeren som har lavet memet en upvote.
$expire=time()+60*60*24*365*10;//Sæt en expire tid på 10 år til cookien
setcookie($cookiename, "1", $expire, '/');//Sæt cookie som siger at den nuværende bruger har upvoted memet.
}
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=../index.php">';
?>
答案 0 :(得分:2)
<script type="text/javascrip">
function upvote(memeid, userid)
{
$.ajax({
url : 'scripts/upvote.php', // give complete url here
type : 'post',
data : 'id='+memeid+'&userid='+userid,
success : function(msg){
alert('success');
}
});
});
</script>
你没有传递upvote函数的第二个参数。
echo '<img id="upvote" onclick="upvote('.$feed[$loaded]["memid"].','.$feed[$loaded]["userid"].')" src="images/neutral_up.png" width="20px">';
答案 1 :(得分:0)
你应该阅读jQuery的文档:http://api.jquery.com/jQuery.ajax/
您的第"var myData = ..."
行不正确,请将其替换为data : { (key : value object)
}(有关详细信息,请参阅文档)
答案 2 :(得分:0)
语法错误
$.ajax({
url : 'scripts/upvote.php?id='+memeid+'&'+userid, // give complete url here
type : 'post',
data:{'id' : 'id...'},
success : function(data){
alert('success');
}
});
答案 3 :(得分:0)
<script type="text/javascrip">
function upvote(memeid, userid)
{
$.ajax({
url : 'scripts/upvote.php
type : 'post',
data = {member_id:memeid, user_id:userid},
success : function(data){
alert('success');
}
});
});
</script>
在php中您可以使用 $ _ POST ['member_id'] &amp;获取数据。的 $ _ POST [ 'USER_ID'] 强>