Php Yii:在ajax响应后更新HTML
我试图显示基于输入文本的数据 我已经创建了支持ajax的输入:Php Yii:在ajax响应后更新HTML,php,ajax,yii,Php,Ajax,Yii,我试图显示基于输入文本的数据 我已经创建了支持ajax的输入: echo CHtml::textField("input_tracking",'',array('id'=>'input_tracking','ajax' => array( 'type' =>'POST', 'url' => CController::createUrl('report/getTracking'), 'update' => '#tracking_result', 'data' =>
echo CHtml::textField("input_tracking",'',array('id'=>'input_tracking','ajax' => array(
'type' =>'POST',
'url' => CController::createUrl('report/getTracking'),
'update' => '#tracking_result',
'data' => 'html'
)));
但它发送的是空的$u邮件。我做错了什么
我的控制器代码:
$data=MyModel::model()->findAll('tracking=:input_tracking',
array(':input_tracking'=>(int) $_POST['input_tracking']));
$data=CHtml::listData($data,'id','name');
foreach($data as $value=>$name)
{
echo CHtml::tag('option',
array('value'=>$value),CHtml::encode($name),true);
}
请您在不使用“数据”数组索引的情况下尝试一下,并告诉我们发生了什么 你可以看看这个wiki来完成一些你想做的事情。
请您在不使用“数据”数组索引的情况下尝试一下,并告诉我们发生了什么 你可以看看这个wiki来完成一些你想做的事情。
您的ajax调用完全错误。您不会将任何数据传递给控制器,这就是POST为空的原因。应该是这样的:
'ajax' => array(
'type' => 'POST',
'url'=>$this->createUrl('report/getTracking'),
'update' => '#tracking_result',
'data'=>array('input_tracking'=>'js:this.value',),
//If this wont work replace update with success function
'success'=> 'function(data) {
$("#tracking_result").empty();
$("#tracking_result").append(data);
} ',
)));
你的控制器很好。希望这是有帮助的。您的ajax调用完全错误。您不会将任何数据传递给控制器,这就是POST为空的原因。应该是这样的:
'ajax' => array(
'type' => 'POST',
'url'=>$this->createUrl('report/getTracking'),
'update' => '#tracking_result',
'data'=>array('input_tracking'=>'js:this.value',),
//If this wont work replace update with success function
'success'=> 'function(data) {
$("#tracking_result").empty();
$("#tracking_result").append(data);
} ',
)));
你的控制器很好。希望这是有益的