HackerNews05-通过使用url模块的parse方法获取用户get提交的数据|学习笔记

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 快速学习 HackerNews05-通过使用url模块的parse方法获取用户get提交的数据

开发者学堂课程【Node.js 入门与实战 HackerNews05-通过使用url模块的parse方法获取用户get提交的数据】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8278


HackerNews05-通过使用url模块的parse方法获取用户get提交的数据


目录:

一、 实现get方式添加新闻

二、Parse方法

 

一、实现get方式添加新闻

首先先做一个添加技能,把一个表单中的数据提交给服务器可以通过get方式,也可以通过post方式。

实现通过用get方式来提交。用get方式提交要先确保表单的格式是get形式。找到表单位置,查看它是get还是post。

在表格中输入新闻的内容,标题等点击submit。

就相当于要get请求整个的/add这个路径。 

image.png

// 先根据用户请求的路径(路由),将对应的HTML页面显示出来

if (req.url ===’/’ || req.url === ‘/index ‘&& req.method === ‘get’) {

// 读取 index.html

render(path. join(--dirname, ‘views’,’ index.html’), res);

else if (req.url === ‘/submit’&&req.method === ‘get’) {

// 读取submit.html 并返回

render(path. join(--dirname, ‘views’,’ submit.html’), res);

else if (req.url === ‘/item’ && req.method === ‘get’) {

// 读取details.html 并返回

render(path. join(--dirname, ‘views’,’ details..html’), res);

else if (req.url === ‘/add’ && req.method === ‘get’) { 

// 表示 get 方法提交一条新闻

// 要获取用户get提交的数据,需要用到url模板(这个模块是node.js 内置模块,不是第三方模块) 

// 既然是get提交数据,所以通过req.url就可以获取这些数据,但是这样使用起来不方便(得自己去截取字符串,然后获取想要的数据)

// 通过url模块,可以将用户get提交的数据解析成一个json对象,使用起来很方便

// console.log(req.url);

res.end(‘over’); 

// 1.获取用户get提交过来的一条新闻

// 2.把用户提交的新闻数据保存到data.json文件中

// 3.跳转到新闻列表页

else if (req.url === ‘/add’ && req.method === ‘get’) {

// 表示post方法提交一条新闻

else if (req.url.startsWith(‘/resources’) && req.method === ‘get’) { 

//如果用户请求是以/resources 开头,并且是get请求,就认为用户是要请求静态资源 

// /resources/images/s.gif

进入cmd下验证

通过url解析完毕之后,用户想获取这个请求路径中的一部分只要点对上了即可


二、Parse方法

url.parse(urlString[,parseQueryString[,slashesDenoteHost]])

它有三个参数,第一个参数是必须要填的,另外两个根据情况而定。

先加载这个模块板var url = require(‘url’);

// 通过url模块,调用url.parse()方法解析用户请求的url(req.url)

Var urlObj – url.parse(req.url,ture);

// console.log(urlObj);

urlObj.query.title

解析完毕后整体上显示一个对象,但是解析完毕后全部都显示为null,因为req.url这个字符串里面本身就只包含了后面一部分,所以前面都没有。 

Url查询完成后这个search里面包含了?

后的所有字符串,query里面是包含了除了问好后面的所有内容,pashname只包含了/add这个路径。

// 1.获取用户get提交过来的一条新闻

// urlObj.query.title

// urlObj.query.url

// urlObj.query.text 

// 2.把用户提交的新闻数据保存到data.json文件中

// 3.跳转到新闻列表页

else if (req.url === ‘/add’ && req.method === ‘get’) {

// 表示post方法提交一条新闻

else if (req.url.startsWith(‘/resources’) && req.method === ‘get’) {

//如果用户请求是以/resources 开头,并且是get请求,就认为用户是要请求静态资源

// /resources/images/s.gif

相关文章
|
2月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
2月前
|
JavaScript
vue封装一个查询URL参数方法
通过以上步骤,我们在Vue.js项目中封装了一个查询URL参数的方法 `getQueryParam`,并在Vue组件中成功应用。这种封装方式不仅提高了代码的复用性,还使得代码更加清晰和易于维护。
22 1
|
2月前
|
JavaScript
vue封装一个查询URL参数方法
通过以上步骤,我们在Vue.js项目中封装了一个查询URL参数的方法 `getQueryParam`,并在Vue组件中成功应用。这种封装方式不仅提高了代码的复用性,还使得代码更加清晰和易于维护。
22 1
|
3月前
|
消息中间件 数据采集 数据库
小说爬虫-03 爬取章节的详细内容并保存 将章节URL推送至RabbitMQ Scrapy消费MQ 对数据进行爬取后写入SQLite
小说爬虫-03 爬取章节的详细内容并保存 将章节URL推送至RabbitMQ Scrapy消费MQ 对数据进行爬取后写入SQLite
43 1
|
2月前
|
Java Spring
JAVA获取重定向地址URL的两种方法
【10月更文挑战第17天】本文介绍了两种在Java中获取HTTP响应头中的Location字段的方法:一种是使用HttpURLConnection,另一种是使用Spring的RestTemplate。通过设置连接超时和禁用自动重定向,确保请求按预期执行。此外,还提供了一个自定义的`NoRedirectSimpleClientHttpRequestFactory`类,用于禁用RestTemplate的自动重定向功能。
140 0
|
4月前
|
数据采集 前端开发 数据安全/隐私保护
使用 urllib.parse 模块优雅地处理 URL
使用 urllib.parse 模块优雅地处理 URL
74 9
|
4月前
|
安全 Java API
Java根据URL获取文件内容的实现方法
此示例展示了如何安全、有效地根据URL获取文件内容。它不仅展现了处理网络资源的基本技巧,还体现了良好的异常处理实践。在实际开发中,根据项目需求,你可能还需要添加额外的功能,如设置连接超时、处理HTTP响应码等。
413 4
|
5月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
7月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
114 5
|
6月前
|
存储 SQL Python
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。