Express.js
中文官网:https://express.nodejs.cn/
该框架用于做后端
建议使用 WebStorm
软件进行创建项目
警告
使用Express搭建服务端不是一个明智的选择
Express目前没有好的安全框架,并且相关的ORM框架Sequelize,用起来比较抽象
解决跨域问题
如下代码,放在 app.js
文件中的 var app = express();
代码下面
app.all('*', function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.header('Access-Control-Allow-Methods', '*');
res.header('Content-Type', 'application/json;charset=utf-8');
next();
});
路由、请求和请求传参
routes/mahe666.js
var express = require('express');
var router = express.Router();
// get请求
router.get('/mahe666', function(req, res, next) {
res.send('mahe6到飞起');
});
// 手动报错,用来测试ajax的error功能
router.get('/err', function(req, res, next) {
throw new DOMException("哈哈哈哈哈")
});
// get请求传递参数,获取json参数中 属性名为 str 的属性值
router.get('/getParam', function(req, res, next) {
console.log(req.query['str'])
res.send("getParam")
});
// post请求传递参数,获取json参数中 属性名为 str 的属性值
router.post('/getData', function(req, res, next) {
console.log(req.body['str'])
res.send("getData")
});
module.exports = router;
前端中,ajax代码如下
$(function () {
$.ajax({
// 路径不同,需要改路径
url: "http://localhost:9000/hello/getData",
// 需要测试请求传参时,写上下面两行代码
data: {"str": "helloWorld"},
dataType: 'json',
// 请求类型不同,需要改路径
type: "post",
// 对应上面的 /mahe666 路径,用来测试success
success: function (res) {
console.log("res =>" + res)
},
// 对应上面的 /err 路径,用来测试error
error: e => {
console.log("e =>" + e)
}
})
})
相关文件如下: