Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615

Передача функции в функцию с параметрами

20.01.2017, 10:02. Показов 569. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня много XMLHttpRequest запросов, и для каждого писать такое неудобно:

JavaScript
1
2
3
4
5
6
7
8
9
10
var xhr = new XMLHttpRequest()
xhr.withCredentials = true
xhr.onreadystatechange = function()
{
    if(xhr.readyState != 4) return
 
    alert(xhr.responseText)
}
xhr.open('GET', 'http://www.site.ru', true)
xhr.send(null)
Подумал сделать 1 функцию, чтобы не писать лишний раз одно и тоже, но не разбираюсь в тонкостях javascript.

Так правильно будет(в основном я не знаю как функцию-обработчик запроса назначить и передать в него xhr)?:
1 функция, со всеми необходимыми параметрами.
JavaScript
1
2
3
4
5
6
7
8
function xml(method, post, ref, functions)
{
    var xhr = new XMLHttpRequest()
    xhr.withCredentials = true
    xhr.onreadystatechange = functions(xhr)
    xhr.open(method, ref, post)
    xhr.send(null)
}
Использование:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
xml
(
    'GET',
    true,
    'http://www.site.ru',
    functions()
    {
        if(xhr.readyState != 4) return
        
        alert(xhr.responseText)
    }
)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.01.2017, 10:02
Ответы с готовыми решениями:

Передача TMemo в функцию с параметрами по умолчанию
Как передать указатель на TMemo в функцию с параметрами по умолчанию? Нужно что-то вроде этого: // Определение: void appMess(String...

Передача функции, делегата другой функции с параметрами
Здравствуйте, Подскажите пожалуйста, есть ли возможность вызвать функцию класса, указав в качестве параметра делегат с параметрами? ...

Передача в поток, функции с двумя параметрами
Всем привет, у меня возникла проблема, при создании потока, в него нужно передать функцию с двумя параметрами, пытаюсь сделать это через...

2
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
20.01.2017, 10:14
Чтобы было удобно, была специально разработана замечательная библиотека jQuery Там как раз есть метод $.ajax(), похожий на то, что вы реализовали.
1
 Аватар для артист
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
20.01.2017, 10:53  [ТС]
Мне удобней стандартными функциями пользоваться )
Подсказали, всё верно, только в обработчике нужно this использовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2017, 10:53
Помогаю со студенческими работами здесь

Передача функции с параметрами в пул потоков
Здравствуйте, имеется многопоточный producer consumer. Он должен вызывать функцию ProcessRequest с параметром полученным из GetRequest. К...

Вызвать внутри функции эту же функцию с параметрами
я новичок подскажите,как вызвать внутри функции эту же функцию с аргументами есть такой код function clock(arg) { <-- body...

Как сделать функцию для многократного запуска другой функции с разными параметрами первой
Здравствуйте. У меня есть функция: void MainWindow::StrategyCod() //код стратегии { //long long bar=0; //счетчик свечек ...

Функции с числовыми параметрами.Описать функцию CircleS(R) вещественного типа, находящую площадь круга радиуса R
Описать функцию CircleS(R) вещественного типа, находящую площадь круга радиуса R (R- вещественное). С помощью этой функции найти площади...

Передача функции в функцию?
Есть задача. Вычисление определенного интеграла тремя способами для трех функций естественно что если написать 9 функций, то это будет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru