admin-ajax.php
là một phần của API AJAX của WordPress và vâng, nó xử lý các yêu cầu từ cả phụ trợ và phía trước. đây là những gì tôi tìm ra cho câu hỏi của bạn đó là:
2) Admin-ajax.php hoạt động như thế nào?
cho logic bạn có thể truy cập ở đây.
Điều này giả định rằng bạn đã biết cách thu hút JavaScript, v.v.
Mảnh 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);
}
});
});
Mảnh 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) Tại sao nên sử dụng admin-ajax.php thay vì mã hóa json của bạn trong một tệp riêng như chủ đề / example / json.php và mã hóa dữ liệu của bạn ở đó?
có thể hữu ích admin-ajax.php vs Mẫu trang tùy chỉnh cho các yêu cầu Ajax
themes/example/json.php
nên được coi là lỗ hổng bảo mật lớn