php - jquery ajax加载php到指定的div中

标签 php jquery ajax wordpress

我正在尝试将 php 文件加载到 div #main单击链接时。 html 内容会加载,但文件中包含的实际 php 代码不会加载。这是我得到的:

触发一切的链接:

<a id="nav" href="http://domain.com/inc/file.php">

jQuery:

jQuery(document).ready(function($) {

    $("#nav").on('click', function (e) {
        e.preventDefault();
        $("#main").empty();

        $.ajax({
            url: $("#nav").attr('href')
        }).done(function(data) { 
            $('#main').html(data); // display data
        });
    }); 

});

代码来自file.php (主要是WordPress功能):

<div id="hostels" class="section cf">

    <?php get_a_post(31); ?>

    <article id="swiss" <?php post_class('swiss bg col span-1-3'); ?> role="article">
        <h3>
            <a href="<?php the_permalink(); ?>">
                <span class="logo-pl-small"><?php include(TEMPLATEPATH . '/library/svg/logo.svg'); ?></span>
                <span class="">Swiss Cottage &ndash; London UK</span>
            </a>
        </h3>
        <?php if ( has_post_thumbnail()) { the_post_thumbnail(); } ?>
        <div class="entry-content">
            <?php the_excerpt(); ?>
            <?php edit_post_link( __( 'Edit', 'bonestheme' ) ); ?>
            <?php if ( get_post_meta($post->ID, 'vidlink', true) ) { 
                echo apply_filters('the_content', get_post_meta($post->ID, 'vidlink', true)); 
            } ?>
         </div>
    </article>

</div>

输出:

<div id="main">
    <div id="hostels" class="section cf">
    </div>
</div>

文件开始加载,但一旦<?php get_a_post(31); ?>到达后,文件不会继续加载。

我可能是错的,但我认为通过使用$.ajax php 代码将在服务器上执行,其输出的代码将加载到我的 #main 中分区。

最佳答案

所以我已经让这个在某种程度上发挥作用了。 我发现this tutorial for Ajax Powered Loops with jQuery and WordPress从中我发现(正如我所猜测的)我创建的文件需要了解 WordPress 功能。为此,我需要包括:

require_once('../../../../wp-load.php');

就我而言,这是来自 file.php 的相关路径。

仍然存在一些问题,例如插件生成的短代码无法完全正常工作,但这超出了我最初问题的范围。

上面的教程中有很多与 ajax 和 Wordpress 相关的有用信息,如果有人遇到类似问题,我建议您阅读一下。

关于php - jquery ajax加载php到指定的div中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974255/

相关文章:

php - Laravel 5.5 引用错误 : $ is not defined

javascript - 如何使文本框平行

javascript - 为什么我的 JSONP 请求给出 Uncaught SyntaxError : Unexpected token < (less than)?

jquery - 简单的 jQuery SlickGrid JSON 示例或文档

php - MySQL/PHP - 数据库用户登录转换

php - mysqli 中的 mysql_field_names 使用循环

javascript - 使用 yepnope 进行响应式设计脚本处理

javascript - 使用 jQuery 即时排序和显示 Ajax 数据

php - 将 xml DOMDocument 转换为字符串

javascript - 如何在提交表单时使用 wp_enqueue_script() 添加本地脚本?