我正在与一个php文件名用户合作。为此,我编写了一些javascript程序。最初javascript代码运行良好,但在更新javascript代码后,它们不再工作。
这里是php文件(users.php):
<div class="wrapper">
<section class="users">
<header>
<?php
include_once("php/config.php");
$sql = mysqli_query($conn,"SELECT * FROM users WHERE unique_id={$_SESSION['unique_id']}");
if( mysqli_num_rows($sql) > 0 ){
$row = mysqli_fetch_assoc($sql);
}
?>
<div class="content">
<img src="php/images/<?php echo $row['img'] ?>" alt="" />
<div class="details">
<span><?php echo $row['fname']." ".$row['lname'] ?></span>
<p><?php echo $row['status'] ?></p>
</div>
</div>
<a href="#" class="logout">Logout</a>
</header>
<div class="search">
<span class="text">Select an user to start chat</span>
<input type="text" placeholder="Enter name to search..." />
<button><i class="fas fa-search"></i></button>
</div>
<div class="users-list">
</div>
</section>
</div>
<script src="javascript/users.js"></script>
这里是js文件(users.js):
//1st part
const searchBar = document.querySelector(".users .search input");
searchBtn = document.querySelector(".users .search button");
searchBtn.onclick = () => {
searchBar.classList.toggle("active");
searchBar.focus();
searchBtn.classList.toggle("active");
};
//2nd part
setInterval(() => {
console.log("habib");
// let's start Ajax
let xhr = new XMLHttpRequest(); //creating xml object
xhr.open("GET", "php/users.php", true);
xhr.onload = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
let data = xhr.response;
console.log(data);
}
}
};
// we have to send through ajax to php
xhr.send();
}, 500);
我第一次写第一部分js程序时,它们工作得很好。但是在写第二部分后,它们就不工作了。我以前也遇到过同样的问题。重新启动我的电脑,问题就解决了。但我想知道为什么会这样?
控制台显示以下错误。。
1条答案
按热度按时间byqmnocz1#
不确定这是否是正确答案,但可能这只是你的浏览器的问题,特别是如果你使用chrome浏览器。通常,chrome倾向于缓存大量js和css文件以供以后参考。这对需要下载这些文件一次的用户来说是好的,并且可以更快地加载页面,因为他们已经有了这些文件,但这对web开发人员来说是一场噩梦。要解决此问题,您可以:
使用ctrl+f5强制重新加载页面
更改文件名,以便强制chrome重新加载页面
更改浏览器,并使用一些较轻的浏览器,如edge或firefox
要检查这个问题,您只需在浏览器中打开js和css文件,进行一些更改并尝试重新加载代码;如果你使用chrome,你会发现除了上面的一个解决方案,代码将保持不变