【问题标题】:Removing Tweet with AJAX on button click单击按钮时使用 AJAX 删除推文
【发布时间】:2018-11-09 12:09:26
【问题描述】:

我正在尝试在单击按钮时删除带有 AJAX 的推文。我正在使用abraham's Twitter API。当我单击按钮时,我想删除推文和相应的元素。 JavaScript 代码:

    $('.delete').click(function(){
        var el = this;
        var id = this.id;
        var splitid = id.split("_");

        // Delete id
        var deleteid = splitid[1];

        // AJAX Request
        $.ajax({
        url: 'deletetweet.php',
        type: 'POST',
        data: { id:deleteid },
        success: function(response){
            $(el).closest('.col-md-9').remove();
        }
        });
    });

使用 AJAX,我将数据发送到同一目录中的“deletetweet.php”文件。 PHP 文件:

require "api/config.php";
$id = $_POST['id'];
echo $id;
// Delete tweet
function deleteTweet($id) {
    $delete = $connection->post('statuses/destroy/'.$id, array());
    return $delete;
}

deleteTweet($id);

最后,如果您需要“config.php”文件:

require "autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

$c_key = 'C_KEY';
$c_secret = 'C_SECRET';
$a_token = 'A_TOKEN';
$a_token_secret = 'A_TOKEN_SECRET';

$connection = new TwitterOAuth($c_key, $c_secret, $a_token, $a_token_secret);
$user = $connection->get("account/verify_credentials");

现在,删除元素部分工作正常。但是,删除推文不起作用。我实际上不知道我的“deleteTweet”功能是否正常工作,也不知道如何检查它是否正在运行。

编辑:通过更多的挖掘和调试,我发现了错误。问题是关于全局变量“$connection”。当我在“deletetweet.php”文件中需要“config”文件时,我还应该将“$connection”变量声明为全局变量。之后,它工作得很好。

【问题讨论】:

    标签: php ajax twitter


    【解决方案1】:

    我不知道 api 但你忘记了 ID 之前和 destory 之后的 / 吗?

    function deleteTweet($id) {
        $delete = $connection->post('statuses/destroy'.$id, array());
        return $delete;
    }
    

    我猜网址是 statuses/destory/id

    【讨论】:

    • 哦,对不起。我的错。我改变了它,但它仍然不起作用。我对 Twitter API 的“破坏”功能如何工作感到困惑。当我运行我的函数时,它会发出一个请求,我知道这一点。但是接下来我该怎么办?我应该返回那个语句“$connection->post...”还是别的什么。
    • 您的请求成功了吗?返回什么http代码?如果成功,您还应该根据 api 文档获得包含大量信息的 json 正文。此外,您似乎必须在 ID api.twitter.com/1.1/statuses/destroy/:id.json 之后添加“.json”
    • 感谢您的帮助。我发现了问题。这是关于将“$connection”变量声明为全局变量。之后一切都很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    相关资源
    最近更新 更多