gpt4 book ai didi

php - AJAX 调用包含 php 文件

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

我有一个 php 文件 (loopHandle.php),里面有一个 wordpress 循环,我想将其加载到网页上的 div 中。

我使用带有字符串变量 $date(“2012-6”)的点击事件进行调用,该变量对于我的 WordPress 循环很重要,因为我将按日期对帖子进行排序。

我决定一步一步进行,到目前为止,我已经完成了 AJAX 调用,并使用变量 $date 响应我的 div。

这就是我看待事物的方式;在点击事件上,我使用以下链接发送我想要使用的变量:

$link_url = esc_url(wp_nonce_url( admin_url('admin-ajax.php?&action=dynamic_date&my_date='.$date), "dynamic_date_nonce")); ?>

我将操作、随机数和自定义变量发送到 wordpress 的 ajax 处理器 (admin-ajax.php),然后该处理器在我的functions.php 中触发一个函数。这是我实际使用发送的变量进行操作的地方。

现在这是我面临的问题,如何使用我发送的变量响应 ajax 调用并使用我的 WordPress 循环进行回复?

我考虑过的一些选择:

$wp_loop = if($loop->have_posts()) { 
while($loop->have_posts()) {
the_post();
get_template_part( 'content', get_post_format() );
}
} wp_reset_query();
$response = new WP_Ajax_Response();
$response->add(array(
'what' => 'fulldate',
'data' => $wp_loop));
$response->send();

这更像是用一根棍子戳它,看看会发生什么。

另一种理论是在我的handleLoop.php中使用$date = $_GET['my_date];,我是否能够从某个地方检索我的变量不是functions.php吗?那我可以这样回复吗:

$loopHandle = include(handleLoop.php);
$response->add(array(
'what' => 'fulldate',
'data' => $wp_loop));
$response->send();

无论如何,我希望我正确地传达了我的问题,当然非常感谢您的帮助。

编辑:我使用以下方法捕获 key 对:

s.data = $.extend(s.data, { action: url.action, _ajax_nonce: url._wpnonce, my_date: url.my_date });

最佳答案

两个问题:

1) 如何发送数据:在 jQuery 请求中,请务必在数据参数中包含您的日期(您似乎已通过使用 GET 语法在自己的问题中解决了该问题)。

2)你如何回应? WP_Ajax_Respond 类用于发送 XML,对您来说可能有点太重了,尤其是因为您很可能返回 HTML。

相反,尝试创建一个 PHP 数组来存储循环每次迭代的结果,并对数组进行 json_encode 并返回 JSON?

http://codex.wordpress.org/AJAX_in_Plugins

关于php - AJAX 调用包含 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829546/

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