我正在创建一个jQuery函数,通过AJAX发送一些数据,然后用结果打开一个div:
<div class="comments_div" id="comments_div" data-id='<?php echo $post_id; ?>' ">
More Comments--->
<div class="comments_more_<?php echo $post_id; ?>" id="comments_more">
$(function() {
$(".comments_div").click(function() {
var post_id = $(this).attr('data-id');
$.ajax({
url: "jscripts/comment_query.php",
type: "POST",
data: post_id,
success: function(datos) {
$('.comments_more_' + post_id).html(datos);
$('.comments_more_' + post_id).show('slow');
//alert(post_id);
}
});
});
})
alert(post_id)
显示正确的post_id
。但由于某种原因,它不会发送数据。
comment_query.php:
<?php
echo 'post_id: ';
echo $_POST['post_id'];
?>
div comment_more打开并显示文本&#34; post_id:&#34; (但不是变量)。
答案 0 :(得分:1)
问题是因为您在请求中发送post_id
值时未提供密钥。data: 'post_id=' + post_id,
您可以使用form-urlencoded格式执行此操作:
data: { post_id: post_id },
或者,更优选地,通过提供jQuery将为您序列化和编码的对象:
log1