admin-ajax.php
는 WordPress AJAX API의 일부 이며 예, 백엔드와 프론트의 요청을 처리합니다. 여기 내가 당신의 질문에 대해 알아 낸 것 :
2) admin-ajax.php는 어떻게 작동합니까?
에 대한 논리를 여기 방문 할 수 있습니다.
이것은 JavaScript 등을 큐에 넣는 방법을 이미 알고 있다고 가정합니다.
자바 스크립트 조각 :
jQuery(document).ready(function($) {
// We'll pass this variable to the PHP function example_ajax_request
var fruit = 'Banana';
// This does the ajax request
$.ajax({
url: ajaxurl,
data: {
'action':'example_ajax_request',
'fruit' : fruit
},
success:function(data) {
// This outputs the result of the ajax request
console.log(data);
},
error: function(errorThrown){
console.log(errorThrown);
}
});
});
PHP 조각 :
function example_ajax_request() {
// The $_REQUEST contains all the data sent via ajax
if ( isset($_REQUEST) ) {
$fruit = $_REQUEST['fruit'];
// Let's take the data that was sent and do something with it
if ( $fruit == 'Banana' ) {
$fruit = 'Apple';
}
// Now we'll return it to the javascript function
// Anything outputted will be returned in the response
echo $fruit;
// If you're debugging, it might be useful to see what was sent in the $_REQUEST
// print_r($_REQUEST);
}
// Always die in functions echoing ajax content
die();
}
add_action( 'wp_ajax_example_ajax_request', 'example_ajax_request' );
// If you wanted to also use the function for non-logged in users (in a theme for example)
add_action( 'wp_ajax_nopriv_example_ajax_request', 'example_ajax_request' );
1) 왜 테마 /example/json.php와 같은 별도의 파일로 json을 인코딩하는 대신 admin-ajax.php를 사용하고 거기에서 데이터를 인코딩합니까?
도움이 될 수 있습니다. Ajax 요청에 대한 admin-ajax.php 및 사용자 정의 페이지 템플리트
themes/example/json.php
주요 보안 취약점으로 간주되어야 하는 이유에 대해 이야기 할 것입니다.