Не могу сделать ajax запросы, постоянно выводит на ссылку POST
http://crm/custom/[object%20Object] 404 (Not Found) Но не понятно почему по такому адресу он переводит даныне
Форма реализации я сделал так в контроллере
public function actionAdop()
{
$models = [new Custom()];
$request = Yii::$app->request;
$data = $request->post('Custom', []);
foreach (array_keys($data) as $index) {
$models[$index] = new Custom();
}
if ($request->isAjax && $request->post('ajax') != null){
Model::loadMultiple($models, $request->post());
Yii::$app->response->format = Response::FORMAT_JSON;
$result = ActiveForm::validateMultiple($models);
return $result;
}
// загружаем данные из запроса в массив созданных моделей
if (Model::loadMultiple($models, Yii::$app->request->post())) {
foreach ($models as $model) {
//сохраняем данные
if (!$model->save()){
echo false;
print_r($model->getErrors());
} else {
$model->save();
}
}
echo true;
}
$searchModel = new CustomSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams, 'adop');
return $this->render('adop', [
'dataProvider' => $dataProvider,
'models' => $models,
]);
}
В виде
<?php $form = ActiveForm::begin([
'id' => 'custom-form',
'enableAjaxValidation' => true,
'enableClientValidation' => false,
'validateOnChange' => false,
'validateOnSubmit' => true,
'validateOnBlur' => false,
]); ?>
<div id="customForm">
<?= TabularInput::widget([
'models' => $models,
'attributeOptions' => [
'enableAjaxValidation' => true,
'enableClientValidation' => false,
'validateOnChange' => false,
'validateOnSubmit' => true,
'validateOnBlur' => false,
],
'columns' => [
[
'name' => 'id_tovar',
'type' => Select2::className(),
'title' => 'Товар',
'options' => [
'data' => ArrayHelper::map(Tovar::find()->all(), 'id', 'name'),
'pluginOptions' => [
'allowClear' => true
],
'options' => ['placeholder' => 'Выберите товар']
]
],
[
'name' => 'number',
'type' => 'textInput',
'title' => 'Кол-во',
'options' => [
'type' => 'number',
'min' => '0'
]
],
],
]) ?>
</div>
<div class="form-group">
<?= Html::submitButton('Создать', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
<?php Pjax::begin([
'id' => 'pjax-custom_adop'
]) ?>
...
<?php Pjax::end() ?>
В js файле
$(document).ready(function(){
$('#custom-form').submit(function (e) {
$.post({
url: 'http://crm/custom/adop',
data: $(this).serialize(),
dataType: 'json',
}).done(function (result) {
if (result === true){
$.pjax.reload({container: '#pjax-custom_adop'});
} else {
$('.multiple-input').html(result);
}
}).fail(function () {
console.log('Сервер не отвечает');
})
});
});
И как поступать в данный момент?