Đừng gửi AJAX đến tệp PHP của bạn trực tiếp. Thay vào đó, hãy sử dụng các hàm AJAX tích hợp của WordPress 1) . Bạn có thể đăng ký gọi lại AJAX từ plugin của mình và WordPress sẽ định tuyến các yêu cầu đến tệp plugin của bạn cho bạn.
Ví dụ: mã này sẽ đăng ký một cuộc gọi lại gọi là "wpa_49691":
add_action( 'wp_ajax_wpa_49691', 'wpa_49691_callback' );
add_action( 'wp_ajax_nopriv_wpa_49691', 'wpa_49691_callback' );
function wpa_49691_callback() {
// Do whatever you need with update_option() here.
// You have full access to the $_POST object.
}
Sau đó, bạn đăng bất kỳ dữ liệu nào bạn cần, chỉ cần xác định action
trong đối tượng:
<script type="text/javascript">
jQuery(document).ready(function($) {
var data = {
action: 'wpa_49691',
my_var: 'my_data'
};
jQuery.post( ajaxurl, data, function(response) {
// handle response from the AJAX request.
});
});
</script>
Kịch bản này sẽ đăng dữ liệu của bạn lên máy chủ. Trong cuộc gọi lại máy chủ, bạn sẽ thấy $_POST['my_var'] = 'my_data'
.
Để đọc thêm, hãy xem:
1) Sử dụng wp_register_script( $handle );
» wp_enqueue_script( $handle )
» wp_localize_script( $handle );
- cách cuối cùng để chuyển nội dung php vào js-var có thể truy cập bên trong tập lệnh AJAX của bạn.