【发布时间】: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”变量声明为全局变量。之后,它工作得很好。
【问题讨论】: