外部HTML内容的AJAX加载在localhost上完美,但在服务器上不起作用

时间:2011-07-03 14:34:02

标签: php jquery ajax wordpress colorbox

我试图通过我的WordPress网站中的AJAX在[jQuery Colorbox] [1]中呈现由php文件生成的内容。 PHP驻留在同一域中的同一服务器上。当我在localhost上运行它时它工作得很完美,但它不能在服务器上运行。

以下是我网站的链接 - http://shabdcreatives.com/portfolio

链接本身并非无效,例如以下链接可以自行运行:

http://shabdcreatives.com/wp-content/plugins/catgrid/includes/CatGridPost.php?ID=33

我不会在彩盒内打开。

我正在尝试加载的php文件只是一个片段,并且不包含任何<html><body>标记。

我尝试过colorbox支持小组,但尚无回复

这是我在彩盒中调用的CatGridPost.php文件中的代码。 我也尝试调用纯文本文件...它没有返回任何错误..但颜色框也没有显示其内容

require_once("../../../../wp-blog-header.php");
$thepost = get_post($_GET["ID"]);
$thecontent = $thepost->post_content;
$thetitle = $thepost->post_title;
$thelink = get_permalink($_GET["ID"]);
?>
<div id="cg-post-container">
<div id="cg-post-title">
    <a href="<?php echo $thelink; ?>"><?php echo $thetitle; ?></a>
</div>
<div id="cg-post-content">  
        <?php echo $thecontent; ?>
</div>          

2 个答案:

答案 0 :(得分:1)

嗨,这可能是mod_security的服务器问题,我有一个与我的客户服务器类似的问题我禁用了mod_security,它解决了这个问题。

但我没有收到404错误。

此处是参考http://drupal.org/node/370651

的链接

还尝试更改文件权限:/wp-content/plugins/catgrid/includes/CatGridPost.php

如果是Wordpress,请尝试使用wordpress的内置Ajax功能

http://codex.wordpress.org/AJAX_in_Plugins

答案 1 :(得分:0)

由于某种原因,您的服务器响应时找不到404,然后返回文档。

使用AJAX请求失败,因为显然客户端认为请求发生了严重错误。

当您加载页面时,浏览器只显示您发送给它的内容,因为它认为您显示的内容只是404页面。 (自定义404页面)

我无法帮你解决这个问题,因为我不知道服务器端发生了什么。

文件夹中的404可能是Ctrl + F?

您可以通过点击几张图片然后转到Google Chrome中的Inspect Element,然后启用控制台来确认这是问题。从那里你可以看到它说GET失败了404

Image showing the server is returning a 404