提问者:小点点

使用AJAX将外部PHP加载到WordPress div的简单方法


我正在尝试将一个完整的PHP文件加载到一个我放在Wordpress模板中的div中,该文件包括它自己的样式表和脚本(html/PHP,html5 video player=jplayer)。

我已经看到了一些例子,说明一些人是如何从Wordpress页面将元素加载到div标签中的,但是出于某种原因,他们对我不起作用。

到目前为止,我已经尝试过了:需要jqueryajax请求的帮助吗?将PHP文档加载到DIV容器中,以及如何使用AJAX加载PHP脚本?

但是,当Wordpress模板加载到浏览器中时,两者都没有导致外部php文件实际显示在div中。

我试图加载的页面位于Wordpress根目录中,在它自己的目录中,包含了所需的css和js文件(例如。http://mylocaltest.com/localWordpressRoot/vizPlayer/fileToBeLoaded.php)

这是我在Wordpress模板页面的div中加载的脚本:

 <?php
 /*
  * template name: Global Headlines
  */
 global $isBlog;
 $isBlog = true;
 get_template_part('page', 'config');
 get_header(); ?>


 <div id="vizPlayer" style="left:0;top:75px;width:50%; height:90%; margin:0; padding:0; background:#000; position:fixed; z-index:51">
    <script type="text/javascript">
 function loadContent(id) {

     $.ajax({
        type: "GET",
        url: "/vizPlayer/fileToBeLoaded.php",
        dataType: 'html',
        data: {param: id},

        success: function(html){
                  $("#vizPlayer").html(html);
        },

        error: function(){
            },

        complete: function(){
        }
     });

 }                      
        </script>

 </div>

任何提示将不胜感激。提前感谢!


共2个答案

匿名用户

如果您在javascript中使用绝对url,则该url相对于Web服务器的根,因此:

url: "/vizPlayer/fileToBeLoaded.php"

将加载:

http://mylocaltest.com/vizPlayer/fileToBeLoaded.php

而不是:

http://mylocaltest.com/localWordpressRoot/vizPlayer/fileToBeLoaded.php

您应该将本地WordPress根添加到路径中。

匿名用户

后来我决定使用Object标记(下面的示例),但我仍然对使用上面的AJAX方法感兴趣!

 <div id="movieContainer" style="left:0;top:75px;width:50%; height:90%; margin:0; padding:0; background:#000; position:fixed; z-index:51">
 <object width="100%" height="100%" id="videoTut" name="videoTut" type="text/html" data="http://localtestserver.com/localTesting/vizicast/index.php">
 </object>
 </div>