gpt4 book ai didi

javascript - php页面每60秒仅刷新div部分

转载 作者:行者123 更新时间:2023-11-28 01:02:39 25 4
gpt4 key购买 nike

我有一个 php 网页,它打印 html 命令并执行其他操作。我有一个 div 部分:

<div id="monitor" class="monitoring"><?php include "php/monitoring.php"?></div>

index.php 脚本中的此脚本应每 60 秒调用一次。所以我发现 AJAX 和 JavaScript 对于做到这一点很有用。因此我使用这个脚本:

<script type="text/javascript">
window.setInterval(function () {executemonitor()}, 60000);

function executemonitor() {
$("#monitor").load("php/monitoring.php");
}

脚本工作正常,但问题是,monitoring.php 脚本的第二次运行失败。该脚本无法使用 $_SESSION 变量。我收到错误:注意: undefined variable :_SESSION in C:\xampp\htdocs\mi-hand\php\monitoring.php on line 168.

如果我使用 html 刷新命令,它就可以工作。

<meta http-equiv="refresh" content="n" />

但是整个页面都刷新了。我想避免这种情况。我只想通过执行 php 脚本来刷新 div 部分。我怎样才能做到这一点? Monitoring.php 文件是一个单独的 HTML 页面。

最佳答案

仅在调用 session_start() 后,_SESSION 变量在 php 中才可用。

您的客户端调用 2 个不同的脚本:

  • index.php,它呈现 div 并包含monitoring.php
  • monitoring.php 呈现 div 的内容

你在index.php中有一个session_start(),但在monitoring.php中没有,所以当客户端直接调用monitoring.php时,这不起作用。

您可以创建一个 session.php 文件来执行 session 初始化(例如调用 session_start()),然后在 index.php 和 reporting.php 中使用

include_once('session.php');

如果你有 php > 5.4,你还可以在monitoring.php中添加以下代码

if (session_status() == PHP_SESSION_NONE) {
session_start();
}

来源:http://php.net/manual/en/function.session-status.php

关于javascript - php页面每60秒仅刷新div部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25443895/

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