在我的HTML
中,我遍历PHP
/MySQL
查询结果并执行一些HTML
类似这样的操作作为最终结果:
loop 1
<p>- user review-</p>
<a href=#" id="upvote">Up Vote</a>
loop 2
<p>- user review-</p>
<a href=#" id="upvote">Up Vote</a>
etc.
现在,当用户点击“赞成票”时,我只想将 AJAXPOST
发送到PHP
如下所示的脚本:
// jQuery / AJAX - separate file linked to `HTML`
$('#upvote').onclick(function() {
var user_id = ??????;
var review_id = ?????;
$.ajax({
url : "search_query.php",
type : "POST",
dataType: "json",
data : {
userId : user_id,
reviewId : review_id
},
success : function(data) {
// do stuff
}
});
// php
<?php
$review_id = $database->escape_value(trim($_POST['reviewId']));
$user_id= $database->escape_value(trim($_POST['userId']));
// Upvote Method
$result = Data::upVoteReview($review_id, $user_id);
// Not discussed in question
$output["result"] = $result;
print(json_encode($output));
?>
我的问题是:我需要从HTML
AJAX 中获取两个变量并放入POST
;如您在上面看到的,它们是reviewId
和userId
。(注意user_id
是登录用户,实际上存储为全局PHP
SESSION
变量。)
困难的部分是 HTML 是动态的,每个循环都会有不同的 review_id。user_id 将是相同的,但我不确定如何将其从SESSION
var 获取到 JavaScript。注意:在HTML
页面上的每个“循环”中,我确实可以访问review_id
我需要的 php 变量 - 只是不确定将它放在哪里,所以我可以在jQuery
/中获取它AJAX
。