Yii2:Ajax调用多个参数

我使用此代码自动填充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()的基础上填充数据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。

任何解决方案将不胜感激。 谢谢。

您可以像下面这样获得此参数:

 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 }