1

みたいなシステムを作ろうとしています。Ajax がなくてもすべてがうまく機能しますが、ajax では準備ができていません。つまり、 ajax の投稿は問題ありません。答えは問題ありませんが、画面上の出力は問題ありません。LIKE ボタンをクリックすると、通知が発生します (ページの更新はありません)。投稿を更新すると、いいねがもう1つあります。` ajax がなくても、関数とすべてが機能しています

ここに私のAjaxファイルがあります:

<?php
ini_set('display_errors', 1);
include_once ('../classes/comments.class.php');
$key = $_POST['key'];
$sessie = $_POST['login'];
    $like1 = new Comments();
    $like1 -> Key = $key;
    $like1 -> User = $sessie;
try{
    $feedback["status"] = "succes";
    $like1 -> addlikes();
    $feedback["message"] = $like1 -> CountLikes();

} catch (Exception $e) {
    $feedback["message"] = $e -> getMessage();
    $feedback["status"] = "error";
}

header('Content-type: application/json');
echo json_encode($feedback);
?>

そしてここに私のPHPページのコード:

<script type="text/javascript">
        $(document).ready(function() {
            $("#knop").click(function() {
                var login = $("#login").text();
                var key = $("#key").text();
                $.ajax({
                    type: "POST",
                    url: "assets/ajax/check_likes.php",
                    data: { login : login , key : key},
                    success: function( msg ){
                        if ( msg.status == "success" ) {
                            $("#likes h1").text( msg.message );
                        }
                    }    
                });
                return false;
            });
        });
</script>
4

1 に答える 1

1

ajax ファイルexit();に afterを追加してみてはいかがでしょうか。echo json_encode($feedback);

編集:また、Firebug (または chrome インスペクターなど) のコンソールを使用して、ajax 応答が有効な json であるかどうかを確認してください。

于 2012-05-21T17:43:12.810 に答える