我正在尝试学习制作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
感谢您的时间和耐心。我非常感激。
答案 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
是负责处理投票的网址,则必须做两件事:
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>
它就像你的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次。