Мой Ajax скрипт не работает с типом данных json - PullRequest
0 голосов
/ 24 апреля 2020

В моих кодах я могу публиковать данные без ошибок. но я не могу вернуть данные из файла php, чтобы показать в моем теге html. Если я удаляю dataType: 'json', он работает нормально, но, как вы знаете, я не могу получить данные. Я получаю эту ошибку, когда тип данных = json

error : {"readyState":4,"responseText":"<head>\n<meta charset=\"UTF-8\">\n</head>\n-1","status":200,"statusText":"parsererror"}

Мой ajax;

$(document).ready(function(){

    // like and unlike click
    $(".like, .unlike").click(function(){
        var id = this.id;   // Getting Button id
        var split_id = id.split("_");

        var text = split_id[0];
        var postid = split_id[1];  // postid

        // Finding click type
        var type = 0;
        if(text == "like"){
            type = 1;
        }else{
            type = 0;
        }

        // AJAX Request
        $.ajax({
            url: 'likeunlike.php',
            type: 'post',
            data: {baslikid:postid,type:type},
            dataType: 'json',
            success: function(data){
                var likes = data['likesonuc'];

                $("#sonuc_"+postid).text(likes);        // setting likes

                if(type == 1){
                    $("#like_"+postid).css("color","#ffa449");
                    $("#unlike_"+postid).css("color","lightseagreen");
                }

                if(type == 0){
                    $("#unlike_"+postid).css("color","#ffa449");
                    $("#like_"+postid).css("color","lightseagreen");
                }


            },
            error: function(data){
                alert("error : " + JSON.stringify(data));
            }

        });

    });

});

Мой php файл (я не поделился выше, чтобы избежать путаницы. Я получаю int результат из $ likesonu c)

$likesonuc= $total_likes - $total_unlikes;


echo json_encode($likesonuc);

1 Ответ

0 голосов
/ 24 апреля 2020

В своем ответе вы видите, что тело, с которого вы возвращаетесь PHP:

<head>\n<meta charset=\"UTF-8\">\n</head>\n-1

... не JSON. Похоже, вы записываете где-то голову HTML, а затем JSON число -1. Вам нужно отправить просто JSON в вашем ответе или его нельзя проанализировать как JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...