[英]how can i fetch data without refresh page using javascript & django?
我正在使用 django 生成 API 并使用 javasctipt 获取数据。 我第一次使用 javascript 我对 javasctipt 不是很了解。 我想在不刷新页面的情况下获取数据 我正在使用 javacript 从 API 获取数据。我的代码仅在刷新页面时从数据库获取数据。 有没有办法在不刷新页面的情况下获取数据? 当有人创建新帖子时,页面会自动在索引页面中加载帖子而不刷新页面?
index.html
<script>
const Story = document.getElementById('stories');
const Url = 'http://localhost:8000/api/';
async function getPosts() {
await fetch(Url)
.then((res) => res.json())
.then((data) => {
data.map((post, index) => {
Story.innerHTML += `
<div class="card card-body mb-3">
<h3>${post.title}</h3>
</div>
`;
});
})
.catch((err) => console.log(err))
}
var timer = setInterval(getPosts,3000)
getPosts();
</script>
无需进入WebSocket
之类的更复杂的世界,最简单的方法是将getPosts();
进入setInterval
并让它每隔 X 秒运行一次 function。 这将重新运行 function 即使没有发布新帖子,但这是最简单的。
下面的代码将在加载时每 3 秒(3000 毫秒)运行一次 getPosts
<script>
const Story = document.getElementById('stories');
const Url = 'http://localhost:8000/api/';
async function getPosts() {
await fetch(Url)
.then((res) => res.json())
.then((data) => {
Story.innerHTML = "";
data.map((post, index) => {
Story.innerHTML += `
<div class="card card-body mb-3">
<h3>${post.title}</h3>
</div>
`;
});
})
.catch((err) => console.log(err))
}
var timer = setInterval(getPosts,3000)
getPosts();
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.