加载PHP包含在一个名为AJAX的文件中

时间:2011-06-29 21:15:22

标签: php html jquery

我需要帮助让ajax函数正常工作。我有一个页面可以模拟搜索一个人的邮政编码。它显示了他们位置的Google地图和ajax loader.gif。在3000 MS超时后,调用ajax函数以在<div id="content"></div>

中加载更多内容

我遇到的问题是div中加载的内容似乎没有得到我需要的任何CSS样式和一些php包含。如果我直接在浏览器中加载通过ajax函数调用的页面,一切都显示正常。但是当加载到ajax中时,我错过了CSS和PHP包含的内容。需要有人尽快帮助我解决这个问题!请回复。

这是我的代码:

    <?php 
    include($_SERVER['DOCUMENT_ROOT'] .'/inc/tokens.php');
    ?>

    <!DOCTYPE HTML>
    <html lang="en" xml:lang="en">

    <!--head code-->       
    <head>

    <link type="text/css" rel="stylesheet" href="../css/v1.css" />
    <style type="text/css">

    #quotebtn {
    position:relative;
    margin: 5px 0 1px 0;
    left:45px;
    float:left;
    width: 200px;
    height:50px;
    border: 0px;
    border-radius: none;
    }

    #form
    {
    margin: 100px;
    }
    </style>

    <!--start scripts-->
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
    <script language="javascript">

    function ajax_request() {
    setTimeout('load_results()', 3000);
    }

    function load_results(url) {
    $('#content').hide('fast');
    /*$('#content').fadeIn('normal');*/
    $('#content').slideDown('fast', function() {
    // Animation complete.
    });
    $('#content').load('page2.php #content', "",
    function(responseText, textStatus, XMLHttpRequest) {
    if(textStatus == 'error') {
    $('#content').html('<p>There was an error making the AJAX request</p>');
    }
    }
    );

    }
    </script>

    </head>  

    <body onload="ajax_request();">

    <ul id="nav">
    <li><a href="page2.php">welcome</a></li>
    </ul>

    <!--form-->
    <div id="form">
    <div id="top"><img src="<?php echo $imgpath;?>/step1_boxtop.png" width="365px" height="100px" border="0" /></div>

    <!--content-->
    <div id="content">

    <div id="page2text_1"><?php echo $form_text1;?></div>
    <div id="loader"><img src="<?php echo $imgpath;?>/ajax-loader.gif" width="128px" height="15px" border="0" /></div>

    <div id="gmaps">
    <?php include($_SERVER['DOCUMENT_ROOT'] .'/offer/v1/gmap.php');?>
    </div>

    <div id="page2text_2"><?php echo $form_text2;?></div>

    </div>
    <!--content-->

    </div>
    <!--form-->

    </body>
    </html>

1 个答案:

答案 0 :(得分:2)

也许你会更好地运气.ajax()代替:

替换:

$('#content').load('page2.php #content', "",
function(responseText, textStatus, XMLHttpRequest) {
if(textStatus == 'error') {
$('#content').html('<p>There was an error making the AJAX request</p>');
}
}
);

使用:

var jqxhr = $.ajax({ type: 'POST', cache: false, url: 'page2.php', data: {id: 'somedata'}, 
    success: function(data) {
        $('#content').html(data.find('#content').html());
    }
})
.error(function() {
    $('#content').html('<p>There was an error making the AJAX request</p>');
});