AJAX和JS for LIKE Button

时间:2012-05-11 15:05:23

标签: php javascript jquery mysql ajax

我正在尝试学习制作AJAX脚本的方法  我的网站上有一个LIKE按钮。我有以下问题:

如果我发送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或Pure Javascript来运行AJAX

感谢您的时间和耐心。我非常感激。

3 个答案:

答案 0 :(得分:1)

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

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

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

4)你在jquery中使用的所有东西都是基于简单的javascript函数,但是jquery更舒服;)jquery的ajax方法的等价物是XMLHttpRequest(http://www.w3schools.com/xml/xml_http.asp

答案 1 :(得分:1)

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

如果handle_vote.php是负责处理投票的网址,则必须做两件事:

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

  2. 你应该把事件放在a onclick事件中处理向上投票,发送ajax请求,并使用preventDefault jQuery函数来避免默认事件。在这种情况下,永远不会使用a href,js将禁止链接点击。

  3. 代码示例几乎就像这样,在你的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"));
        });
    });
    

    你可以根据自己的喜好进行个性化,只是想法如何去做。

答案 2 :(得分:0)

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