-1

我有一个用于计算用户横幅点击次数的 PHP 程序。我的横幅链接是这样的:

<a href="<?=$banner_url;?>" onclick="banner_click_count('<?=$banner_id;?>')"><img src=...>

当用户单击图像时,它会以as 参数运行banner_click_count()函数。$banner_id

function banner_click_count($ban_id)
{
$.ajax({
   type: "POST",
   url: 'banner_click.php',
   data: {banner_id: $ban_id}
   });

}

banner_click.php,我得到banner_id$banner_id = $_GET['banner_id']);根据它搜索数据库。找到记录,然后在banner_count列字段中加1。之后,重定向到banner_url

当我运行程序时,我 Parse error: parse error, expecting T_VARIABLE' or '$''上线了$.ajax({

附录:在您的帮助下,错误被清除,但是当我点击链接时,它直接重定向到banner_url并且不运行 AJAX 功能。

附录:我把警报(“你好”);在ajax函数的顶部,我明白了。所以它进入功能

4

4 回答 4

2

1.你需要把你的javascript函数放在<script>标签下

2.你需要通过json string as post data

3.虽然您将数据作为帖子传递,但您将在 php 中获取此数据as $_POST not $_GET

所以改变你的功能如下

<script>
function banner_click_count(ban_id)
{
$.ajax({
   type: "POST",
   url: 'banner_click.php',
   data: {banner_id: ban_id}
   });

}
</script>

// in your php use as below
echo $_POST['banner_id']
于 2012-10-14T08:12:21.080 回答
1

确保banner_id 在引号中,并且您在页面中包含JQuery。并且不要忘记成功/错误返回。

$.ajax({
   type: "POST",
   url: 'banner_click.php',
   data: {'banner_id': $ban_id},
   success: function(s) { 
     console.log('success' + s);
   },
   error: function(e) {
     console.log('error' + e);
   }
});
于 2012-10-14T08:19:00.057 回答
0

return false在函数结束之前我们不需要 a吗?

于 2012-10-14T08:53:33.080 回答
0

我找到了解决方案。谢谢大家。

function banner_click_count(ban_id)
{
  $.post(
  "banner_click.php",
  {
  banner_id: ban_id
  });
}
于 2012-10-14T12:32:15.517 回答