[PHP/WordPress] AJAX 통신

2023. 10. 11. 17:34·PHP
728x90
728x90

관련 포스팅

  - AJAX 통신 개념 : https://young0105.tistory.com/255

 

 


1. AJAX 통신 시 작업을 수행할 함수 생성

  - 위치 : /plugins/플러그인명 폴더에 존재하는 주파일

     → 플러그인명이 absdf라면 주파일 이름도 그와 유사하게 absdf.php 이런 식으로 만들어져 있음

  - 해당 함수를 action으로 설정해주어야 함

add_action("wp_ajax_액션명", "함수명");
add_action("wp_ajax_nopriv_액션명", "함수명");
function 함수명()
{
    // ...

    // 반환할 데이터
    echo ...
    
    // 통신 종료
    wp_die();
}

2. AJAX URL 설정

  - 워드프레스에서는 'admin-ajax.php'를 사용함

  - 'admin-ajax.php'의 경로를 자바스크립트 변수에 저장하기

// php에서는 아래 코드로 admin-ajax.php 경로를 저장할 수 있음
$ajaxurl = admin_url('admin-ajax.php');

3. AJAX 통신 코드 작성

$.ajax({
    type : "post", 
    url : ajaxurl, // 자바스크립트 변수에 저장해둔 admin-ajax.php 경로
    dataType: 'json', // 데이터를 json으로 반환받는 경우
    data: { // body에 담아 보낼 데이터
        action: '액션명', // 액션명 기입 (앞에 wp_ajax_는 제외하고)
        ...
    },

}).done((res) => {
    // 통신 성공 시, 반환한 데이터가 res에 담김
    console.log(res);

}).fail((error) => {
    // 통신 실패
    console.log(error);
});

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'PHP' 카테고리의 다른 글

[PHP] match 표현식  (1) 2023.11.09
[PHP] Visual Studio Code에서 저장 시 자동으로 코드 정렬  (1) 2023.10.11
[PHP] VSCODE 디버그 모드  (0) 2023.10.06
[PHP] PHP Intelephense  (0) 2023.09.01
[PHP/CodeIgniter] DB 연결  (0) 2023.08.21
'PHP' 카테고리의 다른 글
  • [PHP] match 표현식
  • [PHP] Visual Studio Code에서 저장 시 자동으로 코드 정렬
  • [PHP] VSCODE 디버그 모드
  • [PHP] PHP Intelephense
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (383)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (10)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (14)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    SQL
    java
    SpringBoot
    HTML
    git
    SEO
    CSS
    Swing
    js
    errorNote
    C#
    개발일지
    http
    vuejs
    tailwindcss
    티스토리챌린지
    Android
    cs
    jsp
    Codeigniter
    php
    jQuery
    typeScript
    Wordpress
    오블완
    면접
    zapier
    Hotkeys
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[PHP/WordPress] AJAX 통신
상단으로

티스토리툴바