私はa
タグボタンがあるビューを持っています。ボタンをクリックすると、要求が与えられたaction view controller
に送信され、その中にaction view
という値がデータベースに保存されます。その後、ビューを別のビューにリダイレクトしています。Yii2-データプロバイダであるビューから別のビューにリダイレクトできない
私は何をしましたか?
マイビュー
<a href="<?= URL::toRoute(['ogpheader/viewsetpdf', 'id'=>$model->id])?>" name="redirect" class="btn btn-primary" id="myid">Set PDF</a>
//this is the a tag button
同じビューでAjax呼び出し
<?php
$url = Url::toRoute(['/ogpheader/viewsetpdf','id'=>$model->id]);
$script = <<< JS
$(document).ready(function() {
$('#myid').on('click',function(e) {
e.preventDefault();
var strValue = "";
$('input[name="selection[]"]:checked').each(function() {
if(strValue!="")
{
strValue = strValue + " , " + this.value;
}
else
strValue = this.value;
});
//alert(strValue);
$.ajax({
url: '$url',
type: 'POST',
dataType: 'json',
data: {data:strValue},
success: function(data) {
alert(data);
},
});
})
});
JS;
$this->registerJs($script, static::POS_END);
?>
マイアクションコントローラ
if(Yii::$app->request->isAjax && Yii::$app->request->post())
{
$data = explode(',',$_POST['data']);
foreach($data as $value)
{
$m = new Ogpdetail;
$m -> load(Yii::$app->request->post());
$m->ogp_id = $ogp_id;
$m->created_at = date('Y-m-d h:i:s');
$m->meter_id = $value;
$m->meter_serial = \common\models\Meters::idTomsn($value);
if($m->save())
{
$model->status = Ogpheader::$status_titles[1];
$model->update();
//echo "All data is saved";
//exit();
}
else{
$this->renderAjax('viewcreated');
}
}
//print_r($data);
}
else{
$this->renderAjax('viewcreated');
}
$query = "SELECT DISTINCT ogpd.`meter_serial` AS 'Meter_Serial_Number', IFNULL(ogpd.`remarks`,'') AS 'Remarks' FROM `ogp_detail` ogpd
INNER JOIN `ogp_header` ogph ON ogpd.`ogp_id` = ogph.`id`";
$count = Yii::$app->db->createCommand("SELECT COUNT(DISTINCT ogpd.`meter_serial`) FROM `ogp_detail` ogpd
INNER JOIN `ogp_header` ogph ON ogpd.`ogp_id` = ogph.`id`")->queryScalar();
$dataProvider = new SqlDataProvider([
'sql' => $query,
'totalCount' => $count,
'pagination' => [
'pageSize' => 5,
],
]);
return $this->redirect('viewsetpdf',[
'dataProvider' => $dataProvider,
'model' => $this->findModel($id),
'id' => $model->id
]);
私がSet PDF
ボタンをクリックすると、私はNot Found (#404)
を得ています。すべてのレコードが私の望むテーブルに保存されます。
またURL
はhttp://localhost:225/inventory-web/backend/web/ogpheader/viewcreated/viewsetpdf
ですが、それは私が問題になるかわからないし、私はそれにこだわっていますhttp://localhost:225/inventory-web/backend/web/ogpheader/viewsetpdf
でなければなりません。
ご協力いただければ幸いです。
'HTML ::( '設定するPDF'、[ 'ogpheader/viewsetpdf'、 'ID' => $モデル - > ID]、 ['id' => 'myid'、 'name' => 'redirect'、 'class' = 'btn btn-primary']) 'が表示されているように見える –
私はあなたが意味するものを理解していません – gmc
更新されたタグは '<?'で始まり、終了しました。 html :: a( 'set PDF'、['ogpheader/viewsetpdf'、 ''、 'id' => $ model-> id]、['id' => 'myid'、 'name' => 'redirect' > 'id' => 'myid'、 'name' => 'redirect'、 'class' => 'btn btn-primary' 、 'class' => 'btn btn-primary'])?> 'はテキストとして表示されます –