0

我正在尝试在我的网站上学习如何为 LIKE 按钮制作 AJAX 脚本。我有以下问题:

如果我要发送 1 个变量.... id.. 我这样做

data: "action=vote_up&id="+(this).attr("id")",

如果我发送两个变量 id 和 id1 这在语法上是否正确?

  data: "action=vote_up&id="+(this).attr("id")&id1="+(this).attr("id1")",

2) href 属性包含什么?php页面还是AJAX?

<a href =""><img scr="like.png"></a>

3)首先运行.. php页面或AJAX。4) 我是否必须使用 jQuery 或纯 Javascript 来运行 AJAX

感谢您的时间和耐心。我最欣赏它。

4

3 回答 3

1

1)是的,您可以简单地将其理解为对脚本的 PHP-Get 请求,因此可以使用多个变量,就像 Adam 提到的那样。

2)为了向后兼容,您应该只链接到提供相同功能但不依赖 javascript 的 PHP/whatever-Script(并非每个人都启用了 js)。在您的 javascript 中,您只需禁用默认点击操作(请参阅: http ://api.jquery.com/event.preventDefault/ ),否则您只想在启用 js 时允许类似功能,而不是链接到页面锚 '#'。

3) 页面首先运行。它由服务器处理,然后发送到您的浏览器。在浏览器中收到的 javascript 将开始其操作。

4)你在jquery中使用的一切都是基于简单的javascript函数,但是jquery要舒服得多;)相当于jquery的ajax方法是XMLHttpRequest(http://www.w3schools.com/xml/xml_http.asp

于 2012-05-11T15:18:31.963 回答
1

这是一个想法,希望它有所帮助。

如果handle_vote.php是负责处理赞成票的 URL,则必须做两件事:

  1. a href带有投票查询字符串的 URL,您的数据就是这种情况。它必须为您的服务器应用程序生成。它将在没有 javascript 的情况下使用。

  2. 你应该让你的事件来处理事件中的赞成票a onclick,发送ajax请求,并使用preventDefaultjQuery函数来避免默认事件。在这种情况下,a href永远不会使用,js会抑制链接点击。

在您的 php 页面中,代码示例几乎是这样的:

<a class="like" href="handle_vote.php?action=vote_up&id=<?php echo $post_id; ?>"><img src="like.png"></a>

并将其作为您的 jQuery 脚本:

$(function() {
    $('a.like').on('click', function(e) {
        e.preventDefault();
        $.get($(this).attr("href"));
    });
});

您可以随心所欲地个性化,这只是如何做到这一点的想法。

于 2012-05-11T15:21:53.610 回答
0

<a href ="#"><img scr="like.png"></a>在该链接上放置 onclick 事件,并发出 AJAX 请求以增加计数,成功响应更新计数单击按钮。你忘了一件事,你应该保存那个按钮的状态。因为一个用户可以访问您的网站并点击 1000 次。

于 2012-05-11T15:17:03.853 回答