我以前在页面上编写了针对唯一,单数项目的AJAX请求(例如对图像进行投票,其中只能有一个投票,一次只有一个图像,{{1先前已经从数据库中获取了。)
但是如何为不唯一的对象创建安全的ajax帖子,例如页面上的评论:
image_id
每个页面可以有多个评论,例如,您可以为每个评论投票。当用户点击“投票”按钮时,我该怎么告诉AJAX& PHP点击了什么评论的投票按钮?
这方面的一个例子是stackoverflow的投票系统。它如何知道您投票的评论?
答案 0 :(得分:0)
好吧,以你的StackOverflow评论系统为例;这是评论中的一些示例标记:
<tr id="comment-27519352" class="comment" data-commentid="27519352">
<td></td>
<td class="comment-text"><div><span class="comment-copy">
...
</div></form></td>
</tr>
请注意,评论的数据属性为data-commentid
。这将作为AJAX请求的一部分传递给服务器(可能作为JSON对象的一部分),因此服务器端代码知道将upvote分配给哪些注释。类似地,upvote注释的链接在此tr
内,因此您可以通过查找包装表行来对DOM进行必要的修改(并确定在客户端点击了哪个注释)一类comment
。
因此,简而言之,您需要在每个注释上使用某种标识符,以允许您使用jQuery来确定单击了哪个注释。
答案 1 :(得分:0)
将变量传递给函数。
onclick='ajaxrequestfunction(this.value)'
然后在函数中捕获变量:
function ajaxrequestfunction(x) {
whatever you want to do = x;
}