我正在使用此代码自动填充ajax调用,没有任何问题:
我的视图文件中的代码:
$this->registerJs("$('#dailywardentry-doctor_visit_name').on('change',function(){
$.ajax({
url: '".yii\helpers\Url::toRoute("daily-ward-entry/charges-cash")."',
dataType: 'json',
method: 'GET',
data: {id:$('#dailywardentry-doctor_visit_name').val(),
room_category:$('#dailywardentry-room_name').val()// Want to use this additional params
},
success: function (data, textStatus, jqXHR) {
$('#dailywardentry-visit_charges').val(data.visit_charges);
$('#dailywardentry-doctor_id').val(data.doctor_id);
},
});
});");
我的控制器中的代码就像:
public function actionChargesCash($id){
$model = \app\models\IpdCharges::findOne(['id'=>$id]);
return \yii\helpers\Json::encode([
'visit_charges'=>$model->charges_cash,
'doctor_id'=>$model->doctor_id
]);
}
我想根据无效的附加参数room_category:$('#dailywardentry-room_name').val()
来填充数据。
在检查Firefox时,我收到状态200 OK,如:
**GET http://localhost/hospitalerp/web/index.php?r=daily-ward-entry%2Fcharges-cash&id=1&room_category=6**
仍然我得到的值好像没有提供参数room_category。
任何解决方案都将不胜感激。感谢。
答案 0 :(得分:2)
你可以像下面这样得到这个例子:
public function actionChargesCash($id,$room_category){
$model = \app\models\IpdCharges::findOne(['id'=>$id,'room_category'=>$room_category]);
//rest of code
}
还有另一种方法:
public function actionChargesCash($id){
$room_category=Yii::$app->getRequest()->getQueryParam('room_category');
$model = \app\models\IpdCharges::findOne(['id'=>$id,'room_category'=>$room_category]);
//rest of code
}