parschakov
@parschakov
Начинающий изучать PHP и JS

Почему не срабатывает значение аргумента по умолчанию?

Здравствуйте.
Извините за, казалось бы, нубский вопрос, с js только начинаю разбираться, не получается установить значение аргумента метода по умолчанию.

$(".search").keyup(searchParams).change(searchParams);

        function getPag(page) {
            $.ajax({
                type: 'post',
                url: '/paginate',
                data: {
                    'main': $('.search-main').val(),
                    'page': page
                },
                success: function (data) {
                    searchParams(page);
                    $('#pag').html(data);
                }
            });
        }

        function searchParams(page) {
            page = page || 1;
           // if (page === undefined) page = 1;
            $.ajax({
                type: 'post',
                url: '/search',
                data: {
                    'main': $('.search-main').val(),
                    'page': page
                },
                success: function (data) {
                    $('tbody').html(data);
                }
            });
        }


Метод searchParams() может принимать, а может и не принимать аргумент.
Пытаюсь внутри метода установить значение по умолчанию, двумя способами, но ничего не выходит.

Вывожу в консоль значение принимаемого аргумента (page) , получаю:
Object {
	type: "change",
	timeStamp: 1524215105452,
	jQuery111106411814881616954: true,
	isTrigger: 3,
	namespace: "",
	namespace_re: null,
	result: undefined,
	target: select.select2.form - control.input - sm.search.search - status,
	delegateTarget: select.select2.form - control.input - sm.search.search - status,
	currentTarget: select.select2.form - control.input - sm.search.search - status,
	…
}
TypeError: 'click' called on an object that does not implement interface HTMLElement.


Буду очень благодарен за советы, а также подсказки по усовершенствованию кода. Например не нравится, что оба метода дублируют код.
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
Negezor
@Negezor
Senior Shaurma Developer
Для ES6
function searchParams(page = 1) {
    $.ajax({
        type: 'post',
        url: '/search',
        data: {
            'main': $('.search-main').val(),
            'page': page
        },
        success: function (data) {
            $('tbody').html(data);
        }
    });
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы