2017-04-07 27 views
0

我創建一個jQuery函數通過AJAX發送一些數據,然後打開一個div結果:通過AJAX發送數據不工作 - 爲什麼?

<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']; 
?> 

股利comment_more打開,顯示文本 「POST_ID:」(而不是變量)。

回答

1

問題是因爲當您在請求中發送值時,您沒有提供post_id值的密鑰。

你可以做,使用窗體-urlencoded格式:

data: 'post_id=' + post_id, 

或者,更優選,通過提供一個對象,jQuery將連載和編碼爲您提供:

data: { post_id: post_id }, 
+0

的鑰匙我發送請求時的「post_id」值?我不明白。你可以給我一個例子嗎? – Kalimero

+0

我的答案中有兩個...? –

+0

...仍然不起作用。不管怎樣,謝謝你。 – Kalimero