Jquery Wordpress Ajax发布错误403 admin-Ajax.php
更改Jquery Wordpress Ajax发布错误403 admin-Ajax.php,jquery,ajax,wordpress,Jquery,Ajax,Wordpress,更改选项时,我很难让Ajax调用正常工作 JS: function sendAjax() { console.log('function launched'); jQuery.ajax({ type: "POST", // use $_POST request to submit data url: john_cena_ajax_data.url, // URL to "wp-admin/admin-ajax.php"
选项时,我很难让Ajax调用正常工作
JS:
function sendAjax() {
console.log('function launched');
jQuery.ajax({
type: "POST", // use $_POST request to submit data
url: john_cena_ajax_data.url, // URL to "wp-admin/admin-ajax.php"
data: {
action: 'john_cena', // wp_ajax_*, wp_ajax_nopriv_*
nonce_ajax: john_cena_ajax_data.nonce,
nonce_data: jQuery('#john-cena').data('nonce'),
first_name: 'John', // PHP: $_POST['first_name']
last_name: 'Cena' // PHP: $_POST['last_name']
},
success: function (data) {
jQuery('#john-cena').html(data);
},
error: function () {
console.log(errorThrown); // error
}
});
}
add_action( 'wp_ajax_john_cena', 'acn_john_cena_ajax_callback' );
add_action( 'wp_ajax_nopriv_john_cena', 'acn_john_cena_ajax_callback' );
function acn_john_cena_ajax_callback(){
/* Check DOM nonce */
check_ajax_referer( 'john-cena-shortcode', 'nonce_data' );
/* Check Localize Script Nonce */
check_ajax_referer( 'john-cena-script-nonce', 'nonce_ajax' );
/* Get request */
$first_name = isset( $_POST['first_name'] ) ? $_POST['first_name'] : 'N/A';
$last_name = isset( $_POST['last_name'] ) ? $_POST['last_name'] : 'N/A';
?>
<p>Hello. Your first name is <?php echo strip_tags( $first_name ); ?>.</p>
<p>And your last name is <?php echo strip_tags( $last_name ); ?>.</p>
<?php
wp_die(); // required. to end AJAX request.
}
PHP:
function sendAjax() {
console.log('function launched');
jQuery.ajax({
type: "POST", // use $_POST request to submit data
url: john_cena_ajax_data.url, // URL to "wp-admin/admin-ajax.php"
data: {
action: 'john_cena', // wp_ajax_*, wp_ajax_nopriv_*
nonce_ajax: john_cena_ajax_data.nonce,
nonce_data: jQuery('#john-cena').data('nonce'),
first_name: 'John', // PHP: $_POST['first_name']
last_name: 'Cena' // PHP: $_POST['last_name']
},
success: function (data) {
jQuery('#john-cena').html(data);
},
error: function () {
console.log(errorThrown); // error
}
});
}
add_action( 'wp_ajax_john_cena', 'acn_john_cena_ajax_callback' );
add_action( 'wp_ajax_nopriv_john_cena', 'acn_john_cena_ajax_callback' );
function acn_john_cena_ajax_callback(){
/* Check DOM nonce */
check_ajax_referer( 'john-cena-shortcode', 'nonce_data' );
/* Check Localize Script Nonce */
check_ajax_referer( 'john-cena-script-nonce', 'nonce_ajax' );
/* Get request */
$first_name = isset( $_POST['first_name'] ) ? $_POST['first_name'] : 'N/A';
$last_name = isset( $_POST['last_name'] ) ? $_POST['last_name'] : 'N/A';
?>
<p>Hello. Your first name is <?php echo strip_tags( $first_name ); ?>.</p>
<p>And your last name is <?php echo strip_tags( $last_name ); ?>.</p>
<?php
wp_die(); // required. to end AJAX request.
}
add_action('wp_ajax_john_cena','acn_john_cena_ajax_callback');
添加动作(“wp\u ajax\u nopriv\u john\u cena”、“acn\u john\u cena\u ajax\u回调”);
函数acn\u john\u cena\u ajax\u callback(){
/*检查DOM nonce*/
检查ajax\u referer('john cena shortcode','nonce\u data');
/*检查本地化脚本Nonce*/
检查ajax\u referer('john cena script nonce','nonce\u ajax');
/*获取请求*/
$first\U name=isset($\U POST['first\U name'])?$\U POST['first\U name']:'N/A';
$last_name=isset($_POST['last_name'])?$_POST['last_name']:'N/A';
?>
你好,你的名字是
你的姓是
你应该尽量简化你的问题。使用你的javascript控制台,检查请求是否正在运行以及答案是什么。
参考官方文件:
udemy上还有WordPress-Ajax的好课程。好的,问题已经解决了,我只是按照另一个教程学习。