使用Ajax发送页面标题,页面URL,链接标题和链接href

时间:2013-08-12 17:22:07

标签: jquery ajax this

我是jQuery的新手,我正在尝试开发一个点击计数器 jQuery => Ajax => PHP => MySQL的
所以我有这个结构:

function clck(id) {
    $.post(
        'http://counter:8888/sts/click.php', {
        id: id,
        htmltitle: (document.title + " <br/> " + '(' + document.location.href + ')'),
        clicktitle: ($("$this\[onClick\]").attr("title") + " <br/> " + '(' + $("$this\[onClick\]").attr("href") + ')')
    });
}

我正在使用这个调用jQuery:

<a href="http://google.com" onClick="javascript:clck(1)" title="google1">google 1</a>
<a href="http://fb.com" onClick="javascript:clck(2)" title="fb 2">fb 2</a>

因此它适用于第一个链接,但是当我按下第二个链接时,它会在第一个链接中写入相同内容。
我需要的是:页面标题,页面URL,链接标题和链接href 所有这些必须由Ajax单独发送给PHP。




感谢J_Caselles(它很棒),poncha和rtpHarry
所以,为我工作代码:

function clck(id) {
 $.post(
     'http://counter:8888/sts/click.php', {
     id: id.split("link_")[1],
     htmltitle: document.title + " <br/> (" + document.location.href + ")",
     clicktitle: $("#" + id).attr("title") + " <br/> (" + $("#" + id).attr("href") + ")"
 });}

并致电

<a id="link_1" href="http://google.com" title="google1" onClick="javascript:clck(this.id)">google 1</a>
<a id="link_2" href="http://fb.com" title="fb 2" onClick="javascript:clck(this.id)">fb 2</a>

2 个答案:

答案 0 :(得分:1)

我会这样写:

$("a").click(function () {
  $.post(
    'http://counter:8888/sts/click.php', {
    id: $(this).data("linkid"),
    htmltitle: (document.title + " <br/> " + '(' + document.location.href + ')'),
    clicktitle: $(this).attr("title") + " <br/> (" + $this.attr("href") + ")";
  });
});

然后像我这样做我的标记:

<a href="http://google.com" data-linkid="1" title="google1">google 1</a>
<a href="http://fb.com" data-linkid="2" title="fb 2">fb 2</a>

答案 1 :(得分:1)

您必须传递链接的实际ID(当然首先提供它)。

<a href="http://google.com" id="link1" onClick="javascript:clck(this.id)" title="google1">google 1</a>
<a href="http://fb.com" id="link2" onClick="javascript:clck(this.id)" title="fb 2">fb 2</a>

然后选择带有id的链接。简单。

function clck(id) {
     $.post(
         'http://counter:8888/sts/click.php', {
         id: id.split("link")[1],
         htmltitle: document.title + " <br/> " + '(' + document.location.href + ')'),
         clicktitle: $("#" + id).attr("title") + " <br/> " + '(' + $("#" + id).attr("href") + ')')
     });
}