public function actionDeletePostAjax()
{
$post_id = $_POST['post_id'];
$post_to_delete = Post::model()->findByPk($post_id);
if($post_to_delete->delete()){
echo "deleted";
}
}
Tutto ciò funziona.
All’interno della view però ho la funzionalità di creare dei post con ajax e di metterli in coda ai post precedenti. Quindi per i post generati con ajax, la funzione delete chiaramente non funziona
Potresti renderlo piu’ semplice e carino, per esempio mettendo l’id in get (il controllo che sia post lo puoi sempre fare come fa la delete di gii) o mettendo il post in data.
Cosi’ la funzione diventa:
$(document).on("click", ".deletepostajax", '',function(){
var link=$(this);
$.ajax(
{
type: 'POST',
url: link.attr("url"),
success:function(data)
{
$(qualche getter a partire dal link).fadeOut(300, function() { link.remove(); })
},
error: function(data)
{
alert("Error occured.please try again");
},
dataType:'html'
});
});
Inoltre mi sembra strano che nella onSuccess ti funzioni $(this) per indicare il link, secondo me devi usare le proprieta’ delle closure (la variabile link).