Framework .NET - Interactuando La Db Con Ajax

 
Vista:

Interactuando La Db Con Ajax

Publicado por Andrea (1 intervención) el 31/01/2014 01:19:19
Buenas, mi problema es el siguiente, yo necesito que en el sidebar de la página aparezcan los tweets de un usuario (esto ya lo hice) pero el usuario que está logeado en el momento tiene el "privilegio" de "esconder" sus tweets, lo cual primero tengo que grabar ese registro en la db para cuando lo quiera volver a mostrar este aparezca sin ningun problema, eso tengo que hacerlo mediante Ajax (esconder y mostrar el tweet)

aqui está el código de mi view

<?php
/* @var $this UserController */
/* @var $model User */

//registering jQuery
Yii::app()->clientScript->registerCoreScript('jquery');

?>
<h1>User: <?php echo $model->username; ?></h1>

<h2>Entries</h2>
<ul>
<?php foreach($model->entries as $entry):?>
<div class="view">
<li class="entries"><h2> <?php echo $entry['title']; ?> </h2></li>
<li class="entries"><?php echo $entry['content']; ?></li><br/>
<li class="entries">Created on <?php echo date("d M - g:i A ",strtotime($entry['creation_date'])); ?></li><br/>
</div>
<?php endforeach; ?>
</ul>
<?php $this->beginWidget('system.web.widgets.CClipWidget', array('id'=>'sidebar')); ?>
<h1>Tweet Feed</h1>
<ul>
<?php $form=$this->beginWidget('CActiveForm', array('id'=>'hide-tweet',)); ?>
<?php $i=1; foreach($tweets as $tweet):?>
<div id="tw-<?php echo $i; ?>">
<h1><?php echo $tweet->id_str; ?></h1>
<div class="view">
<li class="entries"><?php echo '<b>'.$tweet->user->name.'</b> @'.$tweet->user->screen_name.' '.date("d M",strtotime($tweet->created_at)); ?></li><br/>
<li class="entries"><?php echo $tweet->text; ?></li>
<?php if($model->usr_id == Yii::app()->user->Id):?>
<br/><li class="entries">
<?php echo CHtml::ajaxLink(
'Click',
array('tweet/create'),
array(
'update'=>'#content',
'type'=>'POST',
'dataType'=>'json',
'data'=>array(
'tw_tweet_id'=>$tweet->id_str,
'tw_author'=>$model->usr_id,
'tw_name'=>$tweet->user->name,
'tw_creation_date'=>$tweet->created_at,
'tw_content'=>$tweet->text,
),
));
?>
</li>
<?php endif; ?>
</div>
</div>
<?php $i++; endforeach; ?>
<?php $this->endWidget(); ?>
</ul>
<?php $this->endWidget();?>


y acá el código de mi accion tweet/create

public function actionCreate()
{
$model=new Tweet;

// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);

if(isset($_POST['Tweet']))
{
echo "arrived at controller!!!";
var_dump($_POST['Tweet']);
//$model->attributes=$_POST['Tweet'];
//if($model->save())
//$this->redirect(array('view','id'=>$model->tw_id));
}

/*$this->render('create',array(
'model'=>$model,
));*/
}


Cabe destacar que la vista es de un controlador diferente al de los tweets, es la vista de los usuarios donde me muestra sus entradas y los ultimos 6 tweets que este ha hecho (tomados desde twitter).
Creo que estoy haciendo algo malo ya que el manda la información, porque en el firebug tengo una respuesta 200 OK, lo que entiendo que manda el POST, pero no llega a la accion tweet/create ya que no imprime el "echo" ni tampoco hace "var_dump", si es posible me gustaría que alguien me de algo de luz en este tema de Ajax.
Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder