我有一個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 –