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

相关文章
|
3月前
|
前端开发 JavaScript
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
79 0
|
10月前
|
小程序 前端开发 PHP
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
171 0
|
4天前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
2月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
47 5
|
1月前
|
存储 SQL Python
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
|
1月前
|
算法
Ngnix02 --- Ngnix的功能特性及常见功能,Ngnix常用的功能模块,有不同算法,根据不同算法进行转发,ip_hash、url_hash、fair,核心组成 ngnix二进制可执行文件
Ngnix02 --- Ngnix的功能特性及常见功能,Ngnix常用的功能模块,有不同算法,根据不同算法进行转发,ip_hash、url_hash、fair,核心组成 ngnix二进制可执行文件
|
1月前
|
JavaScript
js 获取并解析 url 中参数的三种方法
js 获取并解析 url 中参数的三种方法
20 0
|
2月前
|
Windows
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
57 0
|
3月前
|
JavaScript 前端开发
javascript获取url信息的常见方法
javascript获取url信息的常见方法
42 2
|
3月前
|
存储 JavaScript 前端开发
js原生方法,获取url上面所有参数,并返回一个对象
JavaScript函数`getUrlParameters`用于从URL中提取所有参数并返回一个键值对对象。它接收URL,分割查询字符串,解码参数对,并存储在对象中。重复参数键会被存储为数组。