【问题标题】:Load external Web Page with jQuery使用 jQuery 加载外部网页
【发布时间】:2013-09-12 22:46:01
【问题描述】:

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

【问题讨论】:

  • 你能展示一下你当前使用的php脚本和ajax调用吗?没有代码很难判断发生了什么。
  • @JoeFrambach,我没有使用 Ajax。我正在使用 iFrame。 PHP 脚本实际上与它没有任何关系。它只有一个 for 循环,每次通过时都会吐出信息。我需要这些信息,这就是我使用 iFrame 的原因,但我想知道是否可以使用 .get() 或 .load() 显示该信息,而不是在 PHP for 循环完成后才加载。

标签: javascript jquery ajax iframe load


【解决方案1】:

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

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;

【讨论】:

  • Ajax 的什么帖子?
  • 我的 PHP 脚本输出值并且所有这些值都是必需的。但是,当我再次运行它时,值从头开始,所以我不能真正做 setInterval()
  • @SiDiX 然后(在 PHP 端)将值存储在 SESSION 变量中,并在每次运行 PHP 脚本时检索它们。因此,每次 AJAX 调用,PHP 脚本都会继续...读取/更新/重新保存 SESSION 变量...回显更新后的结果。
  • 但是,自动生成了大约 36 个不同的值。这对每个用户来说都是独一无二的。
  • @SiDiX 可能我们(SO 助手)无法完全理解您任务的复杂性。如果您认为值得花时间,请您重新写下您的问题,并准确告诉我们您需要做什么 - 作为一个团队,我们将戴上我们的思维上限并为您提出解决方案。
猜你喜欢
  • 2012-10-09
  • 1970-01-01
  • 2013-02-06
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多