NodeJS获取GET和POST请求

使用NodeJS获取GET请求,主要是通过使用NodeJS内置的querystring库处理req.url中的查询字符串来进行。

  1. 通过?req.url分解成为一个包含pathquery字符串的数组
  2. 通过querystring.parse()方法,对格式为key1=value1&key2=value2的查询字符串进行解析,并将其转换成为标准的JS对象

const http = require(‘http‘)
const querystring = require(‘querystring‘)

let app = http.createServer((req, res) => {
  let urlArray = req.url.split(‘?‘)
  req.query = {}
  if (urlArray && urlArray.length > 0) {
    if (urlArray[1]) {
      req.query = querystring.parse(urlArray[1])
    }
  }
  res.end(
    JSON.stringify(req.query)
  )
})

app.listen(8000, () => {
  console.log(‘running on 8000‘)
})

NodeJS获取POST数据

NodeJS获取POST数据,主要是通过响应reqdata事件和end事件来进行

  1. 通过req.on(‘data‘),并传入回调函数,响应数据上传的事件,并对数据进行收集
  2. 通过req.on(‘end‘),并传入回调函数,响应数据上传结束的事件,并判断是否存在上传数据。如果存在,就执行后面的逻辑。

    // NodeJS获取POST请求
    const http = require(‘http‘)
    
    let app = http.createServer((req, res) => {
      let postData = ‘‘
    
      req.on(‘data‘, chunk => {
        postData += chunk.toString()
      })
    
      req.on(‘end‘, () => {
        if (postData) {
          res.setHeader(‘Content-type‘, ‘application/json‘)
          res.end(postData)
        }
        console.log(JSON.parse(postData))
      })
    
    })
    
    app.listen(8000, () => {
      console.log(‘running on 8000‘)
    })
    get和post合并
            const url = require(‘url‘);
            const http = require(‘http‘);
            const server = http.createServer((req, res) => {
            if (req.method === ‘GET‘) {
            let urlObj = url.parse(req.url, true);
            res.end(JSON.stringify(urlObj.query))
            } else if (req.method === ‘POST‘) {
            let postData = ‘‘;
            req.on(‘data‘, chunk => {
            postData += chunk;
            })
            req.on(‘end‘, () => {
            console.log(postData)
            })
            res.end(JSON.stringify({
            data: ‘请求成功‘,
            code: 0
            }))
            }
            })
            server.listen(3000, () => {
            console.log(‘监听3000端?‘)
            console.log(1111)
            console.log(22)
            }

    https://www.jianshu.com/p/683894636e72

原文地址:https://www.cnblogs.com/yyy1234/p/12244780.html

时间: 2024-10-10 18:08:38

NodeJS获取GET和POST请求的相关文章

(转)NodeJS收发GET和POST请求

NodeJS收发GET和POST请求 目录: 一 express框架接收 二 接收Get 三 发送Get 四 接收Post 五 发送Post 一 express框架接收 1 2 3 4 5 app.get('/',function(req,res) {     var url = req.query.url;     var name = req.query.name;     console.log(url, name); }); 二 接收Get 1. get参数在req.url上 2. 使用

nodejs 获取文件的编码方式

使用nodejs获取文件夹内文件的编码方式:使用jschardet模块. 下面的代码还有问题,没有添加结束的语句,没有判断应该在哪执行res.send(). res.send()不能放在forEach后面,因为还会调用explorer,会二次输出send,出错. var fs = require('fs'); var jschardet = require('jschardet'); util = require('util'); path = "D:/node/temp/public"

Nodejs解决所有跨域请求

Nodejs解决所有跨域请求 app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorizati

NodeJs获取不到POST参数

NodeJs报错,从网页端获取不到POST参数,提示错误类似如下 TypeError: Cannot read property 'username' of undefined     at C:\Users\RENYUZHUO\Desktop\_\Code\Server_NodeJs\login.js:13:29     at Layer.handle [as handle_request] (C:\Users\RENYUZHUO\Desktop\_\Code\Server_NodeJs\no

Nodejs获取网络数据并生成Excel表格

Nodejs的模版中有很多关于Excel表格的,这里我简单介绍一下我使用过的一个模块的使用. 首先,先安装Excel的模块: npm install node-xlsx 然后,在代码中引入模块: var xlsx = require('node-xlsx'); 最后,获取数据并写入Excel: var fs = require('fs'); var xlsx = require('node-xlsx'); var ajax = require('./ajax.js'); start(); fun

nodejs 获取客户端 ip 地址

为什么要获取客户端 ip: php:我们需要拿到用户客户端的ip信息,以识别用户位置,但现在我们拿到的地址永远是杭州 前端:我查一下,稍等 .... 明白了,我们加了一层 node 服务器,服务器在杭州,你们拿到的是 node 服务器的 ip php:那怎么办? 前端:我给你加一个 ip 字段吧 php:哦~ 前端:(噼里啪啦噼里啪啦......) 好了,你们看一下有值了吗? php:有了,但值不对,你给我传的是 ::ffff:127.0.0.1 ,前边那一堆 f 是什么鬼,去掉,我们只要后边的

nodejs获取常见疾病数据示例

日常生活中有一些常见的疾病,这个可以通过百度等搜索到,但是如果你要完成一款app或者小程序.网站之类的该如何来获取常见疾病的信息呢?首先想到的是通过爬虫爬取数据,然后整理搜索....其实这种方法还是太曲折了,网上有很多免费的api接口,现在已nodejs为例来看如何获取数据: var http = require('http'); var qs = require('querystring'); //配置您申请的appKey和openId app_key = "***"; open_i

node的express框架,核心第三方模块body-parser 获取我们所有post请求传过来数据

- 安装 body-parser模块- npm install body-parser -S - 调用- let bodyParser=require('body-parser'); - 设置中间件- app.use(bodyParser.urlencoded({extended:true})); - 判断请求体格式是不是json格式,如果是的话会调用JSON.parse方法把请求体字符串转成对象 - app.use(bodyParser.json()); -上面两个只会有一个生效 - 获取po

nodejs获取WebAPI(Windows验证)

处理了很多天,终于使用Nodejs可以发出请求至WebAPI,能够正常处理数据了 首先加入npm包 npm install httpntlm 在app.js中加入代码 var httpntlm = require('httpntlm'); var fs = require('fs'); var options = { url: 'http://getnt130.gfg1.esquel.com/InstantNoodle_SIT/Workbench/api/v1/styleproduct/1/1'