本章小结
在本章中,我们讨论了 HTTP 协议的工作原理。 客户端发送一个请求,该请求包含一个方法(通常是GET
)和一个标识资源的路径。 然后服务器决定如何处理请求,并用状态码和响应正文进行响应。 请求和响应都可能包含提供附加信息的协议头。
浏览器 JavaScript 可以通过fetch
接口生成 HTTP 请求。 像这样生成请求:
fetch("/18_http.html").then(r => r.text()).then(text => {
console.log(`The page starts with ${text.slice(0, 15)}`);
});
浏览器生成GET
请求来获取显示网页所需的资源。 页面也可能包含表单,这些表单允许在提交表单时,用户输入的信息发送为新页面的请求。
HTML可以表示多种表单字段,例如文本字段、选择框、多选字段和文件选取。
这些字段可以用 JavaScript 进行控制和读取。内容改变时会触发change
事件,文本有输入时会触发input
事件,键盘获得焦点时触发键盘事件。 例如"value"
(用于文本和选择字段)或"checked"
(用于复选框和单选按钮)的属性,用于读取或设置字段的内容。
当一个表单被提交时,会触发其submit
事件,JavaScript 处理器可以通过调用preventDefault
来禁用默认的提交事件。表单字段的元素不一定需要被包装在<form>
标签中。
当用户在一个文件选择字段中选择了本机中的一个文件时,可以用FileReader
接口来在 JavaScript 中获取文件内容。
localStorage
和sessionStorage
对象可以用来保存页面重载后依旧保留的信息。第一个会永久保留数据(直到用户决定清除),第二个则会保存到浏览器关闭时。