【发布时间】:2011-01-13 00:41:50
【问题描述】:
我的 Wordpress 主题文件夹中有一个 ajax.php 文件,这在 DEV 服务器上运行良好。但是,当我将它移到另一台服务器时,我编写的脚本不再工作......奇怪!
我现在回滚尝试找出问题,但最烦人的是因为相同的版本可以在另一台服务器上运行?!
这是代码(它的价值...)
Javascript 调用:
function change_event(ID){
//alert("ID: "+ID);
$.post('wp-content/themes/muni/ajaxcalls.php',
{ id: ID },
function(data){
alert('complete: '+data);
//$('#showingevent').html(data);
});
}
ajaxcalls.php
require_once("../../../wp-blog-header.php");
global $more;
在这一点上,它打破了。包括我在require之后编写的代码是没有意义的。如果我评论这一行,下面的代码就可以了。
如果我直接浏览到 ajaxcalls.php 文件,我会得到我期望的结果,但它不会反馈给 ajax 调用的成功函数。
任何帮助将不胜感激
干杯!
汤姆
编辑:我正在使用这个来触发 change_event:
$('.eventoption A').click(function(ev){
ev.preventDefault();
change_event($(this).attr('id'));
clearInterval(timer);
});
我还更新了 change_event() 函数以反映我正在使用的函数,而不是我之前使用的调试函数。
只要我包含 wp-blog-header.php 文件,问题就会发生。
【问题讨论】:
-
我认为您应该尝试
$("#container").load("ajaxcalls.php")将数据直接加载到 div 中,您说当您访问页面时看到内容,这告诉我"id=" + ID导致数据改为直接登陆页面时不发送POST数据。 -
ajaxcalls.php 文件无论如何都会获取所有的 wordpress 帖子,但是如果您将 ID 传递给它,它只会返回您想要的帖子。这就是我收到 POST 数据返回的原因。
-
你是如何触发 change_event() 的? ajaxcalls.php 的完整 URL 是什么?
-
我已经更新了帖子。它是使用将帖子 ID 设置为链接上的 ID 的链接触发的
-
您有任何错误吗?错误报告是否开启?