在使用php进行ajax调用后,如何从axios获得正确的响应输出?

我正在使用PHP,JS,Axios和Ajax为instagram之类的应用程序提供类似功能。我能够正确启动想要单击以显示帖子的特定a标签的click事件处理程序。我在执行ajax调用后收到的响应将不允许我检查响应的状态。我从我的php文件中传递了$ response ['status'] =“ liked”,但是我通过ajax调用获得的数据变量却不正确。


我首先使用jquery制作了该功能,但想使用axios来避免jquery框架大小带来的较长加载时间。


我试图使用res.data ['status']选择状态,但这也不起作用。我似乎得到一个结合了json响应的数组。


// this selects the exact like button for the post I want to like using 

// the data attribute id


let btn = document.querySelector("a.like");

btn.addEventListener("click", function(e){

    let postId = this.dataset.id;

    let link = this;

    console.log("test");


    axios.post('ajax/likePost.php',{

        postId : postId


    })

        .then (function (res){

            console.log(res);


            if (res.data == "liked") {

                console.log("we zitten ion de liked");


                let likes = link.nextSibling.innerHTML;

                link.children.src = "images/liked.svg";

                likes++;

                link.nextSibling.innerHTML=likes;

            } else {

                console.log("we zitten ion de niet liked");

                let likes = link.nextSibling.innerHTML;

                link.children.src = "images/like.svg";

                likes--;

                link.nextSibling.innerHTML=likes;

            }

        })

        .catch(function (error) {

            console.log(error);

        });



    e.preventDefault();

});


饮歌长啸
浏览 136回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript