我有一个GirdView
其中包括checkbox
。现在我有一个按钮,我发送到另一个action controller
。下面是我的代码无法从yii2中的ajax调用得到响应
<?= GridView::widget([
'dataProvider' => $dataProvider,
/*'filterModel' => $searchModel,*/
'id'=>'grid',
'columns' => [
['class' => 'yii\grid\CheckboxColumn'],
'Meter Serial Number',
'Issued To',
'Store',
],
]); ?>
<a href="<?= URL::toRoute(['ogpheader/viewsetpdf','id'=>'myid'])?>" type="submit" class="btn btn-primary" name="issue_pdf" id="myid" onclick="getRows()">Set PDF</a>
$(document).ready(function() {
$('#myid').click(function() {
var keys = $('#grid').yiiGridView('getSelectedRows');
// alert(keys);
$.post({
url: 'ogpheader/viewsetpdf',
dataType: 'json',
data:{keylist: keys},
success:function(data) {
alert('Done')
}
});
}) });
然后在我的控制器
public function actionViewsetpdf()
{
/*$model = $this->findModel($id);
print_r($model);*/
if(isset($_POST['keylist']))
{
$keys = json_decode($_POST['keylist']);
print_r($keys);
}
exit();
}
当我按一下按钮我得到空的观点。我跟着this tutorial我不知道是什么问题。我坚持它。
UPDATE1
尽管在网络检查它
更新2
如所建议的我试图与$.ajax
和下面是结果
更新3
改变JS
$('#myid').click(function(e) {
e.preventDefault();
var keys = $('#grid').yiiGridView('getSelectedRows');
// alert(keys);
$.ajax({
url: '<?= URL::toRoute(["ogpheader/viewsetpdf"])?>',
dataType: 'json',
data:{keylist: keys},
type: 'post',
success:function(data) {
alert('Done')
}
后
});
结果是
任何帮助将高度赞赏。
你在网络调试呢?试着用$就 –
@ PrasannaVenkatesh亲切看到更新 –
您的$ .post应改为$ .ajax –