使用jQuery加载外部Web页面

时间:2013-09-12 22:46:02

标签: javascript jquery ajax iframe load

我想知道加载外部网页(同一服务器)的好方法是什么。我已经尝试过.load()和.get()但是,外部页面有一个PHP脚本,每隔几秒就会发出一次信息,.load()和.get()只在php完成后加载它。我试过iFrame,加载它显示PHP脚本输出的信息。但是,我真的不喜欢使用iFrame。谢谢!

1 个答案:

答案 0 :(得分:1)

如果目标用于在您的网站上更新PHP信息(每隔几秒吐出一次),那么您想要做的就是在setInterval例程中使用AJAX。 / p>

See this post for the basics of AJAX - 它真的比你想象的要简单。 (您可能首先要查看底部链接的简单示例。请提供您认为有用的任何内容。)

一旦你进行了简单的ajax交换,就把它放到一个名为doAjax()的函数中 - 然后创建一个setInterval,如下所示:

setInterval('doAjax();',60000);

Here is an important note when considering setInterval


以下是一个简单的复制/粘贴(能)示例,可让您准确了解我的意思:

HTML / javascript: index.php

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

        <style>
            #timeDiv{width:40%;height:200px;background:wheat;padding:10px;}
        </style>

        <script type="text/javascript">
            $(document).ready(function() {

                doAjax();

                window.setInterval(function(){
                    doAjax();
                },2000);

            }); //END document.ready

            function doAjax() {
                $.ajax({
                    type: "POST",
                    url: "your_php_processor.php",
                    success: function(myData) {
                        $('#thetime').html(myData);
                    }
                });
            }

        </script>
    </head>

<body>

    <div id="timeDiv">
        The time is: <span id="thetime"></span>
    </div>

</body>

</html>

现在,PHP方面...... your_php_processor.php

<?php

    $d = date("h:i:s");
    echo $d;