AJAX загрузка внешнего HTML-контента прекрасно работает на локальном хосте, но не на сервере - PullRequest
3 голосов
/ 03 июля 2011

Я пытаюсь отобразить контент, сгенерированный php-файлом в [jQuery Colorbox] [1] через AJAX на моем сайте WordPress.PHP находится на том же сервере в том же домене.Он отлично работает, когда я запускаю его на локальном хосте, но не работает на сервере.

Вот ссылка на мой сайт - http://shabdcreatives.com/portfolio

Сами ссылки не являются недействительными, например,Следующая ссылка отлично работает сама по себе:

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

Я просто не буду открывать внутри colorbox.

Также файл php, который я пытаюсь загрузить, простофрагмент и НЕ СОДЕРЖИТ никаких тегов <html> или <body>.

Я попробовал группу поддержки colorbox, но пока не получил от них ответов

Это код в файле CatGridPost.phpчто я звоню в colorbox .. я тоже пытался вызвать простой текстовый файл ... он не вернул ошибку ... но colorbox тоже не отображал его содержимое

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 ]

1 голос
/ 03 июля 2011

Привет, это может быть проблема с сервером с mod_security, у меня была похожая проблема с одним из моих клиентских серверов, я отключил mod_security, и это решило проблему.

Но я не получал ошибку 404.

вот ссылка для справки http://drupal.org/node/370651

Также попробуйте изменить разрешение файла: /wp-content/plugins/catgrid/includes/CatGridPost.php

Если это WordPress, который вы используете, попробуйте встроенную функцию Ajax WordPress

http://codex.wordpress.org/AJAX_in_Plugins

0 голосов
/ 03 июля 2011

По какой-то причине ваш сервер отвечает 404 не найден, а затем возвращает документ.

С запросом AJAX он не выполняется, потому что, очевидно, клиент думает, что запрос прошел плохо.

Когда вы загружаете страницу, браузер просто отображает то, что вы ей отправляете, потому что считает, что отображаемый вами контент - это просто страница 404.(Пользовательская страница 404)

Я не могу помочь вам решить эту проблему, поскольку не могу сказать, что происходит на стороне сервера.

Возможно, Ctrl + F для 404 в папке?

Вы можете подтвердить, что это является проблемой, щелкнув несколько изображений, затем перейдите в Inspect Element в Google Chrome, а затем включите консоль.Оттуда вы можете видеть, что он говорит, что GET потерпел неудачу с 404

Image showing the server is returning a 404

...