即使在重新加载后,如何在博客上保存 post 数据?
How do you save your post data on your blog even after reloading?
我正在尝试创建博客,但没有成功。我希望博客拥有它,这样它就可以保存博客中的帖子,这样每次我重新加载它时网站上仍然有相同的帖子(题外话问题:当你进入例如堆栈溢出时,它如何自动创建一个提交时该问题的页面?)。但无论如何,当我重新加载我的网站时,它会重置页面并且所有帖子都丢失了!目前,我的代码是这样的:
1: script.js, 2: blog.html
function add_question() {
let title = prompt('Enter a title');
let paragraph = prompt('Enter a paragraph');
let question_area = document.getElementById('question area');
let questionTag = document.createElement('span');
let titleTag = document.createElement('h2');
titleTag.innerText = title;
let pTag = document.createElement('pre');
pTag.innerText = paragraph;
[titleTag,pTag].forEach((tag) => {tag.style.textAlign = 'center'; questionTag.appendChild(tag)})
questionTag.style.border = '5px black solid';
questionTag.style.display = 'inline-block';
question_area.append(document.createElement('br'),document.createElement('br'),document.createElement('br'))
question_area.appendChild(questionTag)
}
<!DOCTYPE html>
<html>
<head>
<title>My Blog</title>
<script src='script.js'></script>
</head>
<body>
<h1 style='text-align: center;'>My Blog</h1>
<button onclick=add_question()>New Post</button>
<br><br><br>
<div id='question area'>
<div style='border: 7px black dashed;display:inline-block;align-self: center;'>
<h2 style='text-align: center;'>Welcome!</h2>
<pre style='text-align: center;'>This is where all my blog posts are!</pre>
</div>
</div>
</body>
</html>
那么我需要做什么来解决这个问题?
您可以使用 HTML5 本地存储(通过 .localStorage() 访问)或会话存储,更多 here
您可能会将表单数据字符串化并执行
localStorage.setItem("key", "value")
或者,通过 javascript 在浏览器上,您可以将表单数据保存在 cookie 中,并从中读取,但不建议这样做。
但是,这只是为了存储表单数据。为了您的目的(博客),您需要一些服务器端架构来存储、检索和处理数据。
我正在尝试创建博客,但没有成功。我希望博客拥有它,这样它就可以保存博客中的帖子,这样每次我重新加载它时网站上仍然有相同的帖子(题外话问题:当你进入例如堆栈溢出时,它如何自动创建一个提交时该问题的页面?)。但无论如何,当我重新加载我的网站时,它会重置页面并且所有帖子都丢失了!目前,我的代码是这样的:
1: script.js, 2: blog.html
function add_question() {
let title = prompt('Enter a title');
let paragraph = prompt('Enter a paragraph');
let question_area = document.getElementById('question area');
let questionTag = document.createElement('span');
let titleTag = document.createElement('h2');
titleTag.innerText = title;
let pTag = document.createElement('pre');
pTag.innerText = paragraph;
[titleTag,pTag].forEach((tag) => {tag.style.textAlign = 'center'; questionTag.appendChild(tag)})
questionTag.style.border = '5px black solid';
questionTag.style.display = 'inline-block';
question_area.append(document.createElement('br'),document.createElement('br'),document.createElement('br'))
question_area.appendChild(questionTag)
}
<!DOCTYPE html>
<html>
<head>
<title>My Blog</title>
<script src='script.js'></script>
</head>
<body>
<h1 style='text-align: center;'>My Blog</h1>
<button onclick=add_question()>New Post</button>
<br><br><br>
<div id='question area'>
<div style='border: 7px black dashed;display:inline-block;align-self: center;'>
<h2 style='text-align: center;'>Welcome!</h2>
<pre style='text-align: center;'>This is where all my blog posts are!</pre>
</div>
</div>
</body>
</html>
那么我需要做什么来解决这个问题?
您可以使用 HTML5 本地存储(通过 .localStorage() 访问)或会话存储,更多 here
您可能会将表单数据字符串化并执行
localStorage.setItem("key", "value")
或者,通过 javascript 在浏览器上,您可以将表单数据保存在 cookie 中,并从中读取,但不建议这样做。
但是,这只是为了存储表单数据。为了您的目的(博客),您需要一些服务器端架构来存储、检索和处理数据。