gpt4 book ai didi

javascript - Wordpress AJAX 与原始 JavaScript?没有 Jquery

转载 作者:行者123 更新时间:2023-11-28 07:30:34 26 4
gpt4 key购买 nike

好吧,我编写了一个 lated-posts.php 脚本,我希望仅在某些用户操作(滚动)时将其插入帖子中。我还有一个脚本文件,它由 wordpress 排队并加载到页脚中 - 我在那里编写了 ajax,如下所示:

var  xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("relatedPosts").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","http://localhost/wordpress/wp-content/themes/mytheme/functions/widgets/ajaxa.php",true);
xmlhttp.send();

AJAX 加载文件,但问题是:php 脚本似乎“不知道”它加载的页面,因为

global $post; 
print_r($post);

输出 0(零)...

我知道在 wordpress 中有一种使用 ajax 的正确方法,但是我发现的所有文档都严重依赖于 Jquery(我目前不知道也不想学习)

如何仅使用 JavaScript 使其工作?

最佳答案

您的 PHP 代码不知道全局 $post 对象,因为它没有与页面的其余部分一起编译 - 您需要将它们视为两个单独的页面,它们不会共享 PHP 中的对象,除非它们保存在 session 中因为它们是独立编译的。

如果您想查找相关帖子,您应该将主帖子的 id 传递给生成关联的 PHP 脚本,然后使用它来查找 ajax.php 中的相关项目...例如

var  xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("relatedPosts").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","...mypath.../ajaxa.php?getAssociationsFor=<?php get_the_ID(); ?>",true);
xmlhttp.send();

然后在 ajaxa.php 中类似...

htmlspecialchars($_GET["getAssociationsFor"])

获取从 HTML 页面传递的值。

关于javascript - Wordpress AJAX 与原始 JavaScript?没有 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29170605/

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