Wordpress AJAX with raw javascript? NO Jquery
Wordpress AJAX with raw javascript? NO Jquery
好吧,所以我有一个相关的posts.php脚本,我希望只有在特定的用户操作(滚动)时才能将其插入到posts中。我还有一个脚本文件,它由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中共享对象,因为它们是独立编译的。
如果你想找到相关的帖子,你应该把主帖子的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页面传递的值。
相关文章:
- Wordpress AJAX with raw javascript? NO Jquery
- 禁用复选框上的输入框 jquery NO onchange
- JavaScript 动态更改图像 src 的位置 - NO JQuery
- AngularJS - 在第一个可见元素上应用 CSS 类(Preferred No JQuery)
- jQuery Ajax得到错误No Transport,状态为0
- 通过将按钮id从Code-behind传递给Jquery Function,Set buttons display no
- JQuery 标识每个选择值为 No 的 Div
- IE8 & 9 - no jquery ajax response object
- onmouseover onmouseout fadeIn fadeOut no jQuery
- Javascript Simple Gallery (No JQuery)
- 匿名函数的调用(vanilla-js,pure-js,no-jquery)
- jQuery No Ui Slider,如何锁定多个互连的滑块以始终求和100
- 发布触发ajax请求的html表单NO JQuery
- jQuery .load() <img> no more in <a>
- 未定义ID/No操作Jquery
- jQuery ajax - no jQuery css
- 我如何寻找和采取快照从时间戳存储在数组中的秒/ NO jQuery
- Password int on Textfield - NO jQuery/CSS3/HTML5
- No JQuery UI is working in MVC3
- JSONP Help (No jQuery)