Страница 1 из 1

Не посылается аякс.

Добавлено: 2018.04.23, 11:01
dunakov
Хочу сделать заказ услуг, в общем есть форма

Код: Выделить всё

<div class="col-md-6">
                    <form role="form">

                        <div class="form-group">
                            <label for="fio" class="text-center">Ф.И.О:</label>
                            <input type="text" class="form-control" id="fio" placeholder="Иванов Иван Иванович">
                        </div>

                        <div class="form-group">
                            <label for="tel" class="text-center">Телефон:</label>
                            <input type="text" class="form-control" id="tel" placeholder="+375291234567">
                        </div>
                        <div class="form-group">
                            <label for="tel" class="text-center">Выберите услугу:</label>

                        <select class="selectpicker" id="price">
                            <?php foreach ($gyn as $item) :?>
                            <option><?=$item['name']?></option>
                            <?php endforeach; ?>
                        </select>
                        </div>
                        <div class="checkbox">
                            <label><input type="checkbox"> Я человек и не рассылаю спам</label>
                        </div>
                        <div class="form-group text-center">
                        <button type="button" class="btn btn-style-one" id="btn">Отправить</button>
                        </div>
                    </form>
                    </div>
Написал аякс для отправки данных

Код: Выделить всё

$('#btn').on('click', function ()
    {
        var name = $("#fio").val();
        var number = $("#tel").val();
        //var price = $("#price option:selected").text();

        $.ajax(
        	{
                /*url:'index.php?r=category/gynecology',*/
                url:window.location,
                data: {a:[name,number]},
                type: 'POST',
                success: function (res) {

                    //setTimeout( 'location="index.php?r=site/index";', 5);
                    console.log(res);
                },
                error: function () {
                    alert('321');
                }
            }
        );
    });


Но запрос даже отправляться не хочет и ошибка 400. Хотя ранее так делал и всё прекрасно работало. Что за х?

Re: Не посылается аякс.

Добавлено: 2018.04.23, 11:22
andku83

Код: Выделить всё

$('#btn').on('click', function (event)
    {
    event.preventDefault();
    ...

Re: Не посылается аякс.

Добавлено: 2018.04.23, 11:26
dunakov
andku83 писал(а):
2018.04.23, 11:22

Код: Выделить всё

$('#btn').on('click', function (event)
    {
    event.preventDefault();
    ...
Этот вариант я тоже пробовал. Всё равно крашится и до обработчика на сервере не доходит (
Изображение

Unable to verify your data submission.

Re: Не посылается аякс.

Добавлено: 2018.04.23, 11:36
dunakov
Всё , разобрался. СSRF валидацию нужно было отключить

Re: Не посылается аякс.

Добавлено: 2018.04.23, 12:08
someweb
Надо не отключить, а разобраться почему не работает.

Re: Не посылается аякс.

Добавлено: 2018.04.23, 12:40
dunakov
someweb писал(а):
2018.04.23, 12:08
Надо не отключить, а разобраться почему не работает.
У меня стоит использование csrf мета тегов

Код: Выделить всё

<?= Html::csrfMetaTags() ?>
Но всё равно до отключения ошибку выдаёт, поэтому пришлось отключить проверку

Re: Не посылается аякс.

Добавлено: 2018.04.23, 13:02
someweb
:facepalm

Re: Не посылается аякс.

Добавлено: 2018.04.23, 13:02
andku83
http://www.fantomslim.ru/articles/yii2- ... srf-tokena

Код: Выделить всё

...
data : $(this).closest('form').serialize()
...