繁体   English   中英

如何为页面上的重复项编写Ajax POST请求?

[英]How can I write ajax POST requests for repetitive items on a page?

之前,我已经在页面上编写了AJAX请求,要求包含唯一的单数项目(例如,对一张图片进行投票,一次只能投一票,一次只能投一幅图片,并且image_id以前是image_id获取的db)。

但是我如何为不唯一的对象(例如页面上的注释)创建安全的ajax帖子:

<span>Comment 1</span>
<span>Comment 2</span>

每个页面可以有多个评论,例如,您可以为每个评论投票。 当用户单击“投票”按钮时,如何告诉AJAX和PHP对单击了什么评论的投票按钮?

一个例子就是stackoverflow的投票系统。 它如何知道您对哪条评论投了赞成票?

好,以您的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分配给什么注释。 类似地,支持注释的链接位于tr ,因此您可以通过查找带有comment类的包装表行来对DOM进行必要的修改(并找出在客户端上单击了哪个注释)。 。

因此,简而言之,您需要在每个注释上使用某种标识符,以使您能够使用jQuery确定单击了哪个注释。

将变量传递给函数。

onclick='ajaxrequestfunction(this.value)'

然后在函数中捕获变量:

function ajaxrequestfunction(x) {
whatever you want to do = x;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM