node.js根据不同请求路径返回不同数据详解流程

目录
  • 1.学习根据不同的请求路径返回:不同数据
  • 2.发送的数据:数据类型,和什么编码:Content-Type
  • 3.关于读入文件的:相对路径和绝对路径:
  • 4.读图片

1.学习根据不同的请求路径返回:不同数据

var url=req.url //获取req.url值(req:是request简写)
req.url: 获取的是端口号之后的路径
实现不同路径返回不同数据

我的端口号:3000,网址:http://127.0.0.1:3000

if(url==='/'){

res.end(‘index page') //如果输入的网址为:http://127.0.0.1:3000/
//响应括号里数据,把数据传到服务器中显示
}

if(url==='/login')
{

res.end(‘login page') //如果输入的网址为:http://127.0.0.1:3000/login
//响应括号里数据,把数据传到服务器中显示
}

var http = require("http"); // http 模块
http.createServer(function(req, res) {
//res.write('hello')
//res.write('world!')
 // res.end('index page');

var url=req.url           //获取req.url值

if(url==='/'){

res.end('index page') //内容结束

}else if(url==='/login')
{

res.end('login page')

}else{

  res.end('404')
}

console.log(req.url);

}).listen(3000); // 监听端口3000

console.log("HTTP server is listening at port 3000.网址为http://127.0.0.1:3000");

结果:

2.发送的数据:数据类型,和什么编码:Content-Type

res.setHeader(‘Content-Type',‘text/plain; charset=utf-8')
res.setHeader(‘Content-Type',‘text/html; charset=utf-8')

text/plain :文本 plain:普通的
如果内容是html标签,需要改: text/html
res.end(“helloworld”); 用text/plain

res.end('<p>我是谁<a>点击</a></p>')//用 text/html,才能被浏览器识别到

charset=utf-8:内容以:这个utf-8编码

3.关于读入文件的:相对路径和绝对路径:

这个相对路径实际上是相对于执行node命令所处的路径:

var fs=require(“fs”) //fs有很多API函数,获取fs对象
fs.readFile()//读人文件
我执行node命令在:d:\node1.js
文件07.html在:d:node1.js目录下 ;
所以:fs.readFile('./07.html',funtion(){ })
就能读取文件;把内容传给data

res.end(data)
就把html内容写在了:res.red()中
打开网页就能看见s.end中

var http = require("http"); // http 模块
var fs=require("fs")
   //var url=req.url;
http.createServer(function(req, res) {

//res.write('hello')
//res.write('world!')
 // res.end('index page');
 fs.readFile('./07.html',function(err,data) {

if(err){

res.setHeader('Content-Type','text/plain; charset=utf-8')

     res.end('wss')

}
else{

res.setHeader('Content-Type','text/html; charset=utf-8')
res.end(data)

}

 })

}).listen(3000);
console.log("服务")

结果:

4.读图片

fs.readFile('./07.jpg',function(err,data)
res.setHeader(‘Content-Type',‘image/jpeg; charset=utf-8')
res.end(data)
//主要代码

到此这篇关于node.js根据不同请求路径返回不同数据详解流程的文章就介绍到这了,更多相关node.js 请求路径与数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 利用Node.js获取项目根目录的小技巧

    假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中. 实现功能 如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件. 实现方法 在node.js只提供了一个 dirname全局变量.通过 dirname可以获得"C:\wwwroot\yidata\server".这时需要用到path. 首先 import path from 'path'; (ES6)或var path = require (

  • Node.js爬取豆瓣数据实例分析

    一直自以为自己vue还可以,一直自以为webpack还可以,今天在慕课逛node的时候,才发现,自己还差的很远.众所周知,vue-cli基于webpack,而webpack基于node,对node不了解,谈什么了解webpack.所以就自己给自己出了一道题,爬取豆瓣数据,目前还处于初级阶段.今天就浅谈爬取到豆瓣的数据,再另一个页面用自己的方式展现,后续会跟进. 1.需要解决的问题 搭建服务 怎么处理爬到的数据 怎么自动打开默认浏览器 2.搭建服务 搭建服务有好几种方式,一开始我用的http,但是

  • Node.js中路径处理模块path详解

    前言 在node.js中,提供了一个path某块,在这个模块中,提供了许多使用的,可被用来处理与转换路径的方法与属性,将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了.下面我们就来详细介绍下关于Node.js中的路径处理模块path. 获取路径/文件名/扩展名 获取路径:path.dirname(filepath) 获取文件名:path.basename(filepath) 获取扩展名:path.extname(filepath) 获取所在路径 例子如下: var path = re

  • 手把手教你用Node.js爬虫爬取网站数据的方法

    开始之前请先确保自己安装了Node.js环境,还没有安装的的童鞋请看一下安装教程...... https://www.jb51.net/article/113677.htm https://www.jb51.net/article/57687.htm 直接开始吧 1.在项目文件夹安装两个必须的依赖包 npm install superagent --save-dev SuperAgent(官网是这样解释的) -----SuperAgent is light-weight progressive

  • node.js根据不同请求路径返回不同数据详解流程

    目录 1.学习根据不同的请求路径返回:不同数据 2.发送的数据:数据类型,和什么编码:Content-Type 3.关于读入文件的:相对路径和绝对路径: 4.读图片 1.学习根据不同的请求路径返回:不同数据 var url=req.url //获取req.url值(req:是request简写) req.url: 获取的是端口号之后的路径 实现不同路径返回不同数据 我的端口号:3000,网址:http://127.0.0.1:3000 if(url==='/'){ res.end('index

  • Linux使用Node.js建立访问静态网页的服务实例详解

    Linux使用Node.js建立访问静态网页的服务实例详解 一.安装node.js运行所需要的环境,:http://www.jb51.net/article/79536.htm 二.创建node目录(/node/www),并在目录下创建node.js服务文件server.js var http = require('http'); var fs = require('fs');//引入文件读取模块 var documentRoot = '/node/www';//需要访问的文件的存放目录 var

  • Node.js基础入门之使用方式及模块化详解

    目录 什么是Node.js ? Node.js下载 Node.js和JavaScript的区别 Node.js安装与验证 Node.js使用方式 1. REPL模式 2. 文件模式 Node.js模块化 1. 什么是模块? 2. 模块分类 3. 创建自定义模块 4. 调用自定义模块 5. 模块测试 6. 主模块 7. 模块组成 在这个竞争日益激烈的今天,已经不是一门语言,一项技术走天下的时代了.正所谓艺多不压身,今天开始学习Node.js,学而时习之,不亦乐乎,希望可以借鉴经验,学以致用,如有不

  • Node.js学习之地址解析模块URL的使用详解

    前言 本文主要给大家介绍了关于Node.js地址解析模块URL使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. url结构化/模块化/路径解析 结构化:url.parse(urlString[, parseQueryString[, slashesDenoteHost]]) 模块化:url.format(urlObject) 路径解析:url.resolve(from, to) 一个URL字符串是一个结构化的字符串包含多个有意义的组件.在解析时,返回一个URL对象

  • typescript在node.js下使用别名(paths)无效的问题详解

    目录 背景 typescript不会对别名进行处理 另一个坑 调试tsconfig-paths 总结 背景 纯nodejs环境,直接使用tsc编译nodejs.源码目录是src,编译输出目录为bin.代码结构如下: src utils a.ts b.ts config … bin tsconfig.json 在其他深层次目录引用utils或者config下的文件时,总是要写一长串的'../../../../',还需要数数.这显然是不能接受的.用过webpack开发的小伙伴们,想想别名功能,typ

  • Node.js利用js-xlsx处理Excel文件的方法详解

    简介 本文介绍用 Node.js 中的 js-xlsx 库来处理 Excel 文件. js-xlsx 库是目前 Github 上 star 数量最多的处理 Excel 的库,功能强大,但上手难度稍大.文档有些乱,不适合快速上手. 本文对 js-xlsx 库进行一定的总结,并提供几个实用的例子供读者测试,学习,交流. 安装 $ npm install xlsx 一些概念 在使用这个库之前,先介绍库中的一些概念. workbook 对象,指的是整份 Excel 文档.我们在使用 js-xlsx 读取

  • node.js使用express框架进行文件上传详解

    关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究. 目前的研究算是取得的比较好的进展. Settings-Sync中通过快捷键上传文件,其实主要还是请求后端接口. 于是我便使用node.js模拟一个服务,这个服务其实就相当于github api(Settings-Sync实际请求的接口,比如token验证,gist存储创建等都是来自github 对应的api). 话不多说,直接代码贴起讲解: 1.创建一个node.js项目(这里我以ex

  • Node.js如何对SQLite的async/await封装详解

    前言 本文主要给大家介绍的是关于Node.js对SQLite的async/await封装的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 用于将每个SQLite函数同步化,并可以用await的接口. 注意:需要SQLite for Node模块和Node.js 8.0+,并支持async / await. SQLite最常用作本地或移动应用程序的存储单元,当需要从程序的各个部分访问数据时,回调不是最佳解决方案. 为了在程序程序中更自然地访问数据,我编写了一个将回调转换为

  • Node.js爬虫如何获取天气和每日问候详解

    安装依赖 安装node.js,同时安装好依赖: npm install request --save // http请求库 npm install cheerio --save // 分析html工具 npm install express --save // nodejs web框架 获取墨迹天气 地址示例: 东莞 tianqi.moji.com/weather/chi- 广州 tianqi.moji.com/weather/chi- 深圳 tianqi.moji.com/weather/ch

  • node.JS二进制操作模块buffer对象使用方法详解

    在ES6引入TypedArray之前,JavaScript语言没有读取或操作二进制数据流的机制.Buffer类被引入作为Nodejs的API的一部分,使其可以在TCP流和文件系统操作等场景中处理二进制数据流.现在TypedArray已经被添加进ES6中,Buffer类以一种更优与更适合Node.js用例的方式实现了Uint8Array. Buffer对象概述 由于应用场景不同,在Node中,应用需要处理网络协议.操作数据库.处理图片.接收上传文件等,在网络流和文件的操作中,还要处理大量二进制数据

随机推荐