gpt4 book ai didi

jquery - Wordpress AJAX 不返回自定义作者元

转载 作者:行者123 更新时间:2023-12-01 03:43:12 25 4
gpt4 key购买 nike

现在,我正在尝试在用户单击作者姓名时使用 AJAX 检索自定义作者元。

发生的情况是我的 AJAX 没有返回任何内容。

我已经测试了我发送的变量,并且该变量已正确填充,但我没有从 Wordpress 收到任何响应。

如有任何帮助,我们将不胜感激。

要注意的是,PHP 位于我的 functions.php 文件中,其中有另一个函数可以创建并保存我需要从中访问信息的自定义作者元字段

谢谢,

猎人

PHP

add_action('wp_ajax_nopriv_ajax_request', 'student_meta_info');
add_action('wp_ajax_ajax_request', 'student_meta_info');

function get_student_meta_info()
{
$studentID = $_POST['studentID'];

$review = the_author_meta('review', $id);
$weightloss = the_author_meta('weightloss', $id);
$gained = the_author_meta('gained', $id);

$AuthMeta = array("review" => $review, "weightloss" => $weightloss, "gained" => $gained);

echo json_encode($AuthMeta);

exit;
}

jQuery

$(document).ready(function()
{
$('.author').click(function()
{
var id = $(this).attr('id');

$.ajax({
type: 'POST',
action: 'student_meta_info',
studentID: id,
dataType: 'json',

success: function(data)
{
var review = data.review;
var weightloss = data.weightloss;
var gained = data.gained;

alert(data);
alert(review);
alert(weightloss);
alert(gained);
}
});
});
});

最佳答案

您需要在 dataType 之后指定 WordPress AJAX url:

url: ajax_object.ajax_url,

要以 var 形式获取 url,您必须 localize your script ,例如:

add_action( 'wp_enqueue_scripts', 'so16523111_wp_enqueue_scripts' );
function so16523111_wp_enqueue_scripts() {
wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my_script.js', array( 'jquery' ), '20130513', true );
// in javascript, object properties are accessed as ajax_object.ajax_url, ajax_object.we_value
wp_localize_script( 'ajax-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}

此外,将要发送的数据包装为数据参数...

data: {action:'student_meta_info',studentID:id},

...并使用response检查是否成功:

success: function(response)

此外,您需要调整回调和 ajax Hook 以反射(reflect)操作:

add_action( 'wp_ajax_nopriv_student_meta_info', 'get_student_meta_info' );
add_action( 'wp_ajax_ajax_student_meta_info', 'get_student_meta_info' );

最后,您必须在无冲突模式下使用 jQuery:

jQuery(document).ready(function($)

关于jquery - Wordpress AJAX 不返回自定义作者元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com