- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет.
Имеется следующий код по отправке GET-запроса по указанному урлу с использованием JQuery:
$.getJSON('урл-и-параметры', function(json) {//Тут еще какой-то код, обрабатывающий ответ сервера
});
Погуглил, но не нашел способа каким можно вместо встроенной функции указать отдельную функцию, как-то так:
$.getJSON('урл-и-параметры', MyFunction(json));И отдельно уже задать function MyFunction(json) {} с нужным кодом.
Надеюсь понятно выразился и заранее спасибо за помощь :beer:
$.getJSON('урл-и-параметры', MyFunction);
$.getJSON('урл-и-параметры', MyFunction);
Спасибо, но проверил такой вариант - выдаётся ошибка о том, что параметр json не найден. В общем-то логично, так как мы его не передаём в MyFunction.
Приведенный мной выше пример с передачей этого параметра тоже к сожалению не работает :/
Спасибо, но проверил такой вариант - выдаётся ошибка о том, что параметр json не найден.
Вам нужен не json, а объект - тот самый XMLHttpRequest, который придет как this и вы сами уже возьмете с него this.responseText и сделаете json - JSON.parse(this.responseText) и далее по тексту функции-колбека.
Ну или просто проверьте какой this биндится в MyFunction.
UPD, кажется понял
Параметр не не передается, а предусматривается. То есть вы знаете что вызыватель положит в колбек аргумент и пишите текст этого колбека так
var myFunction=function(json){ console.log(json) };
Вызыватель в своих внутренностях получив указатель на функцию сделает вот так, например:
Без жиквери простейший интерфейс аякса по гету может быть таким
---------- Добавлено 16.07.2015 в 10:22 ----------
Только сейчас заметил
Все должно работать. Абсолютно никакой разницы как передать анонимную функцию - текстом в аргументе, или ссылкой на функцию в переменной.
То есть в первом случае будет вот так
callback=function(json){}; // callback - имя аргумента
или во втором случае
callback=MyFunction // скопировали реф на функцию в переменной
в то время как
MyFunction=function(json){};
вызыватель засунет аргумент в callback(json) что в точности обозначает вызов MyFunction(json)
ЗЫ Нет, разница есть применительно к замыканиям видимости. Это вы делаете кложу, то вам придется определять функцию в том месте, где видны ей нужные переменные. А если это просто колбек, или он и так все нужное "видит", то никакой.
Спасибо, но проверил такой вариант - выдаётся ошибка о том, что параметр json не найден. В общем-то логично, так как мы его не передаём в MyFunction.
Не вы его передаете, а библиотека вызывает вашу коллбэк функцию с этим параметром который вы определяете в свой функцией как входящий аргумент. Приведенный вами пример не правильный, так как вы вызываете а не передаете функцию. Как правильно - вам указали, или смотрите в документации. А если не работает, значит ошибка в вашем коде.