gpt4 book ai didi

javascript - PHP/AJAX : Get web page content every 3 seconds until it changes

转载 作者:行者123 更新时间:2023-11-29 19:38:33 25 4
gpt4 key购买 nike

我有一个网络服务器 (www.domain.com) 正在 ping 一个子网网络服务器 (test.domain.com) 以获取显示的信息,直到它发生变化。我希望它每 3 秒运行一次此检查,直到状态更改为等待消息以外的其他内容,然后我想在 div 中显示该信息。

我知道如果我想加载页面然后将其作为脚本运行,我将需要 AJAX 以某种方式运行它,但我一生中可能修改了 2 个 AJAX 脚本并且不知道在哪里和这个一起去。

以下代码是我的测试基础 PHP,适用于基本工作流,但它在所有服务器端都执行。

  $str = file_get_contents($url);
$spanCount = preg_match_all("/\<span id\=\"spanId\"\>(.*?)\<\/span\>/",$str,$span);
$spanString = implode($span[0]);
echo "<div class='status' style='display:inline;'>";
while($spanString == "<span id=\"spanId\">Waiting for stuffs...</span>"){
echo "Waiting...";
$str = file_get_contents($url);
$spanCount = preg_match_all("/\<span id\=\"spanId\"\>(.*?)\<\/span\>/",$str,$span);
$spanString = implode($span[0]);
sleep(3);
}
if($spanString != "<span id=\"spanId\">Waiting for stuffs...</span>"){
echo "<pre>";
echo $spanString;
echo "</pre>";
}

echo "</div>";

最佳答案

AJAX 调用是否需要消耗网页的整个 HTML?如果它是您控制的服务,允许 AJAX 对您的 php 脚本进行 GET 并让它返回数据的 JSON 对象将使事情变得非常简单。

get to status.php returns -> {status:"waiting", content: null} //do nothing
get to status.php returns -> {status:"waiting", content: null} //do nothing
get to status.php returns -> {status:"someawesomestate", content: "<blink><marquee>You're our 1,000,000th visitor!</marquee></blink>"} // grab content and update page

如果您遇到问题,使用 JSONP 可以让您非常轻松地跨域获取数据。 (jQuery 支持的示例)

$.getJSON('the/path/status.php').
.done(function(json) {
if(json.status != "waiting") {
$('.some-container').html(json.content);
}
})
.fail(function( jqxhr, textStatus, error ) {
alert('something exploded.');
});

关于javascript - PHP/AJAX : Get web page content every 3 seconds until it changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24312379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com