У меня есть проблема с использованием Modal и экземпляров Pjax и render (), получая ошибку:
Синхронный XMLHttpRequest в основном потоке устарел из-за его вредных эффектов для конечного пользователя .
Во-первых, я не использовал async:false
, по крайней мере, если я это сделал, то непреднамеренно. Во-вторых, я использую Yii Framework .
модально. js:
$('.modal-btn').click(function () {
$('#modal-form').modal('show')
.find('#modal-form__content')
.load($(this).attr('value'));
});
PostController. php:
public function actionIndex()
{
$searchModel = new PostSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->renderAjax('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
site / index. php:
<div class="site-index">
<?php
Modal::begin([
'size' => 'modal-lg',
'id' => 'modal-form',
]);
echo '<div id="modal-form__content"></div>';
Modal::end();
?>
<?= Html::button('Einführung erstellen', ['value'=>Url::to('../post/index'),'class' => 'q-i btn-norm modal-btn']) ?>
</div>
post / index. php: // Мне нужно использовать Pjax, чтобы сайт не перезагружался с каждый поиск. НО проблема все еще существует, даже если я ее устраню, из-за $this->render(...)
$this->title = 'Einträge';
?>
<?php Pjax::begin(['enablePushState'=>false]); ?>
<div class="post-index">
<div class="modal-title">
<h1 class="no-mt"><?= Html::encode($this->title) ?></h1>
</div>
<div class="body-p">
<div class="crud-create">
<h1 class="t-p"><?= Html::encode($this->title) ?></h1>
<p class="cb-p">
<?= Html::a('Beitrag erstellen', ['create'], ['class' => 'btn btn-success']) ?>
</p>
<div class="fb-p">
<?php echo $this->render('_search', ['model' => $searchModel]); ?>
</div>
</div>
<div class="cnt-mp">
<?= ListView::widget([
'dataProvider' => $dataProvider,
'itemOptions' => ['class' => 'item edit p-p fb-p '],
'itemView' => '_post_item',
'summary' => '',
'pager' => [
'class' => LoadMorePager::class,
'label' => 'Zeige mehr Einträge',
],
]) ?>
</div>
</div>
</div>
<?php Pjax::end(); ?>
post / _search. php
<div class="post-search">
<?php $form = ActiveForm::begin([
'options' => ['data-pjax' => true],
'action' => ['index'],
'method' => 'get',
]); ?>
<?= $form->field($model, 'title') ?>
<?= $form->field($model, 'body') ?>
<div class="form-group">
<?= Html::submitButton('Suche', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
post / _post_item. php:
<a value='<?php echo Url::to(['post/view', 'slug' => $model->slug]) ?>' class="modal-btn">
<div id="<?php echo Html::encode($model->id) ?>" class="col-lg-4 post" >
<h2><?php echo Markdown::convert(Html::encode($model->title)) ?></h2>
<small class="text-muted">Erstellt: <?php echo Yii::$app->formatter->asDate($model->created_at) ?></small>
<?php echo StringHelper::truncate(Markdown::convert(Html::encode($model->body)), 200) ?>
</div>
</a>
Так что я не знаю, загружает ли Yii2 вещи синхронно c. Может быть, render () загружает вещи в Syn c? Я не знаю, был бы признателен за любую помощь.