我想在不重新加载页面的情况下提交数据。所以我使用了Pjax。当我点击upvote(views \ site \ vote.php :)时,页面会重新加载并返回错误undefined variable: id
。我想知道为什么以及如何解决这个问题。我认为这是由于id=>$id
。
视图\站点\ vote.php:
<?php Pjax::begin(['enablePushState' => false]); ?>
<?= Html::a('upvote', ['site/upvote', 'id'=>$id]) ?>
<?php Pjax::end(); ?>
但使用'id'=>18
代替'id'=>$id
,它可以正常工作(提交,页面不会重新加载,也不会返回错误)。
<?php Pjax::begin(['enablePushState' => false]); ?>
<?= Html::a('upvote', ['site/upvote', 'id'=>18]) ?>
<?php Pjax::end(); ?>
控制器\ SiteController.php:
public function actionVote()
{
$id=18;
return $this->render('vote',[
/* 5 other variables */
'id'=>$id,
]);
}
public function actionUpvote($id)
{
.....
return $this->render('vote');
}