Intereting Posts
Как временно перенаправить главную страницу сети на один из сайтов / блогов? Добавить AJAX «Загрузить больше» в пользовательский блок запроса Подсчитайте количество типов сообщений, связанных с другим типом сообщения Добавление полей в экран «Добавить нового пользователя» на панели инструментов Добавить post-new.php? Post_cat = catslug в меню администратора В WordPress я хочу запустить цикл для получения сообщений в табличном формате Интернационализация строк с html-тегами и номерами в WordPress Глубина> 2 возможна с помощью мультисайта? Как перенаправить на страницу edit.php после сохранения сообщения, продукта и показ сообщения «после сохранения», Условная дополнительная корректировка Как изменить значение «uploaded to» в медиа-библиотеке (WordPress 4.0) Только на странице 404, обратите внимание: попытка получить свойство не-объекта на nonce Как обращаться с уведомлением о метадании основного кода на действительный ввод? Случайная запись Постоянная ссылка Что запускает уведомление об обновлении плагина

Запросы Ajax без JQuery

Я хочу сделать запросы Ajax без JQuery и без включения wp_load.php . Я хочу использовать объект Vanilla XmlHttpRequest который я пишу сам.

Любые ссылки, подсказки, сделанные и сделанные и т. Д.?

Solutions Collecting From Web of "Запросы Ajax без JQuery"

Если все, что вам нужно сделать, это захватить данные о сообщении / сообщениях, я серьезно рекомендую использовать плагин JSON API ( http://wordpress.org/plugins/json-api/ ).

Я использую его, чтобы сделать ванильные xmlhttp-запросы к URL-адресу wp и вернуться обратно json

Возвращаясь к этому в новом приложении. Я просто решил использовать Angular, и аналогичный подход можно использовать с vanilla JS.

Сначала дайте Javascript доступ к URL admin-ajax.php адресу admin-ajax.php , что-то вроде:

 echo "<script type='text/javascript'>var ajaxurl = '".admin_url('admin-ajax.php')."'</script>"; 

Затем, в functions.php , зарегистрируйте действие, которое вы хотите выполнить Ajax:

 add_action("wp_ajax_infiniteScroll", "infiniteScroll"); add_action("wp_ajax_nopriv_infiniteScroll", "infiniteScroll"); 

… и добавьте обработчик действий, который соответствует второму параметру вышеуказанных действий:

 function infiniteScroll() { // This is what's returned to the client. echo "foo"; die(); } 

Теперь все ваши утки идут в ряд. Вызовите ajaxurl с параметром action установленным для действия, которое вы сделали выше, и все должно работать (ниже пример с угловым):

 $http({ url: ajaxurl + "?action=infiniteScroll" }) .success(thenPopulate) .error(thenError); 

Большинство решений «требуют» JQuery (не нужны) и wp_enqueue_scripts() и несколько других «удобных» функций (также необязательно). Главное, сделать URL доступным для вашего JS, зарегистрировать действие и отправить это действие в ваш запрос.

Для тех, кто обеспокоен глобально видимым ajaxurl , все другие решения, которые я прочитал, используют wp_localize_script() которые в любом случае делают глобальную переменную. С помощью вышеуказанного метода вы, по крайней мере, можете немного контролировать его объем.