node.js

115 阅读1分钟

get请求

安装express包,npm:node package manager,如果npm下载速度过慢可以使用cnpm,cnpm是淘宝镜像,需要npm先安装cnpm,再用淘宝镜像安装其他包

npm install express --save

如下代码

//引入express 模块
let express = require('express')
let app = express()
let array1=[{name:'li',id:0}]
let id=0
//GET 请求,req为传入的对象
app.get('/add',(req,res)=>{
    let obj={}
    obj.name = req.query.name
    obj.id=++id
    array1.push(obj)
    //成功页面传值success,此时array1数组已经更改
    res.json('success')
})
//监听
app.listen(8888, () => {
    console.log('app is running...');
})

node跨域

  1. 在node.js项目中新建public文件夹,将html页面index.html放在该文件夹中,在node.js中设置静态资源目录,若监听端口是8888,则进入http://localhost:8888/index.html中,此时可以从node.js中请求数据
app.use('/', express.static('public'))
app.listen(8888, () => {
    console.log('app is running...');
})
  1. 如果其他项目中的html文件想从node.js项目中请求数据,则在node.js中输入如下代码,同样进入http://localhost:8888/index.html中也可请求数据
//设置允许所有域名跨域
app.all("*", function (req, res, next) {
    //设置允许跨域的域名,*代表允许任意域名跨域
    res.header("Access-Control-Allow-Origin", "*");
    //允许的header类型
    res.header("Access-Control-Allow-Headers", "content-type");
    //跨域允许的请求方式
    res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
    if (req.method.toLowerCase() == 'options')
        res.send(200);//让options尝试请求快速结束
    else
        next();
})