Php AJAX和JS的相似按钮

Php AJAX和JS的相似按钮,php,javascript,jquery,mysql,ajax,Php,Javascript,Jquery,Mysql,Ajax,我正在尝试学习如何制作AJAX脚本 我的网站上有一个类似的按钮。我有以下问题: 如果我发送1个变量。。。。身份证件我这样做 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 <

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

如果我发送1个变量。。。。身份证件我这样做

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吗

谢谢你的时间和耐心。非常感谢。

在该链接上放置onclick事件,并发出AJAX请求“增加计数”,在成功响应时单击更新计数按钮。你忘了一件事,你应该保存按钮的状态。因为一个用户可以访问您的站点并点击1000次

1)是的,您可以简单地将其作为对脚本的PHP Get请求来撤销,这样就可以使用多个变量,就像Adam提到的那样

2) 为了向后兼容,您应该只链接到提供相同功能但不依赖javascript的PHP/任何脚本(不是每个人都启用了js)。在javascript中,您只需禁用defult click Action(请参见:),否则,如果启用了js,您只需要允许类似的功能,而不需要链接到页面锚定“#”

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


4) 在jquery中使用的所有东西都基于简单的javascript函数,但jquery要舒服得多;)与jquery的ajax方法等价的是XMLHttpRequest()

这里有一个想法,希望对您有所帮助

如果
handle\u vote.php
是负责处理向上投票的URL,则必须做两件事:

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

  • 您应该在
    a onclick
    事件中放置事件来处理向上投票,以发送ajax请求,并使用
    preventDefault
    jQuery函数来避免默认事件。在这种情况下,
    a href
    将永远不会被使用,js将抑制链接单击

  • 在您的php页面中,代码示例几乎如下所示:

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

    您可以根据自己的喜好进行个性化设置,这只是如何实现的想法。

    谢谢您的回答。但是,我不熟悉如何实现按钮的状态,以避免用户多次单击。使用mysql WHERE and query可以做到这一点吗?这个mysql用于增加点击次数,您应该在服务器端witch响应AJAX请求时做到这一点,我认为您应该在会话或cookie中为当前用户保存状态。根据您的状态,打印活动或不活动按钮。或者您可以在DB字段中设置它,并从数据库中检查。您应该为该用户保存用户id或用户会话以及类似按钮状态。
    $(function() {
        $('a.like').on('click', function(e) {
            e.preventDefault();
            $.get($(this).attr("href"));
        });
    });