1
を提出し、私はpjaxは、2番目のフォームの提出にページをリロードする理由を把握していないような第2のフォームにページ全体をリロードします。それはこのURLから引き出す最初のフォーム提出で意図されたとおりに正確に動作しますが、最初のフォームの後には/site/profile?UserSearch%5Bsearchstring%5D=m
の終了が失われます。私は実際のHTMLコードをチェックし、フォームにはdata-ajax
属性が保持されています。 pjaxがページ全体をリロードしているときに提案されていたように、タイムアウトを増やしてみましたが、何も変わりませんでした。以下はYii2 Pjaxは
すべてのpjaxがリロード後にあなたが好き/機能をトリガーに必要なJavaScriptを呼び出す必要があります私の見解
<?php Pjax::begin(['timeout' => 5000, 'id' => 'form-pjax']); ?>
<?php $form = ActiveForm::begin([
'method' => 'get',
'action' => Url::to(['site/profile']),
'options' => ['data-pjax' => true ],
]); ?>
<?= $form->field($searchModel, 'searchstring', [
'template' => '<div class="input-group">{input}<span class="input-group-btn">' .
Html::submitButton('Search', ['class' => 'btn btn-default']) .
'</span></div>',
])->textInput(['placeholder' => 'Find friends by username or email']);
?>
<?php ActiveForm::end(); ?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
'username',
[
'label' => 'View Profile',
'format' => 'raw',
'value'=>function ($data) {
return Html::a(Html::encode("View Profile"),'/site/redirectprofile/'.$data->id);
},
],
[
'label' => 'Follow',
'format' => 'raw',
'value'=>function ($data) {
return Html::a(Html::encode(Follow::find()->where(['user_id' => $data->id, 'follower_id' => Yii::$app->user->Id])->exists() ? 'Unfollow' : 'Follow'),'/site/follow/'.$data->id.'/'.$data->username);
},
],
],
'summary'=>'',
]); ?>
<?php Pjax::end(); ?>
、私はあなたのための答えを更新しpjax –
を可能にし、現在任意のコードを持っていません。 –
は動作しませんが、同じ動作をします。 pjaxは最初の検索では動作しますが、2回目の検索でページをリロードします –