nodejs-基本使用
来源:互联网 发布:手机超市软件 编辑:程序博客网 时间:2024/06/18 01:21
//1.新建了一个文件夹,在文件夹里新建了server.js,在server.js里面去写后端程序.//2.我们可以通过commonjs的规范去引入nodejs里面的模板// nodejs编程方式,也就是使用commonjs规范// 然后其他逻辑使用JS语法去构建就行了//3.后端启动了吗?怎么启动这个后端程序?// cmd切盘到项目里面,// 输入 node server.js启动了程序//4.测试nodejs程序//1.http模块 包含了很多东西,包含创建一个服务器createServer()的方法,创建socket方法var http = require('http');//包括了http请求里面的url封装的任何对象//比如我要获取请求地址里面?userId=1009//post请求一些参数var url = require('url');var router=require('./router.js');//载入路由//2.创建服务器createServer(function(){}) 端口号为3000http.createServer(function(request,response){ response.writeHead('200',{'Content-Type':'application/json;charset=utf-8', 'Access-Control-Allow-Origin':'*' }); router(request,response,url);//路由// //可以通过request.url获取当前的访问地址 端口号后面的地址// //url.parse() url模块里的方法,能把当前的请求转换成请求对象,可以将当前对象的全部信息获取到// var _url = request.url;// console.log(_url);// var _requestUrl = url.parse(_url); //把当前的请求转换成请求对象,可以将当前对象的全部信息获取到// console.log(_requestUrl);// //判断不同的请求,给用户反馈不同的json数据(路由)// var currentPath = _requestUrl.pathname;//获取请求地址// switch(currentPath){// case "/users":// var users = '{"users":"dong.xie"}';// response.write(users);// break;// case "/goods":// var goods = '{"goodId":"1009","goodName":"零食","goodPrice":"100"}'// response.write(goods);// break;// case "/query":// var query = '{"total":"100","result":"[{},{},{}]"}'// response.write(query);// break;// case "/favicon.ico":// break;// } //在创建服务方法里面是有一个回调函数,里面有两个参数request,response,创建的服务到底是做什么的?(给前端做服务) //前端和后端的交流方式是,前端发出请求,后端接收到之后做出响应 //request,response? //request主要用来获取前端传送来的信息和数据,接受前端请求. //response主要是用来响应前端的请求,给前端返回一些数据 //demo1:给前端返回一串json数据 //1.设置http头部 writeHead('http状态值',{http属性}) //对外响应Content-Type数据类型// response.writeHead('200',{'Content-Type':'application/json;charset=utf-8',// 'Access-Control-Allow-Origin':'*'// }); //console.log("浏览器已经开始访问了"); //2.数据返回出去 write(字符串) 主要是对外输出一段数据的方法 //var s='sayHello({"message":"this is my first node app账号aaf"})'; //解决跨域的第一种方法// var s='{"message":"this is my first node app账号aaf"}';// response.write(s); //3.结束响应 释放资源 response.end(); //当输出的格式为中文如何解决? //在writeHead里面去设置charset=utf-8}).listen(3000);console.log("node started");//第二种方法 解决跨域//2.跨域的解决 CORS属性 后端直接输出json//核心就是在后端的http头部里面去设置Access-Control-Allow-Origin属性//第三种方法//3.代理服务器 原理和CORS属性一样的//也就是在nodejs服务器上面去访问另外的跨域请求//将数据得到,设置Access-Control-Allow-Origin属性就可以解决了//如何去设计result标准的api 定制一些接口访问url标准//登录:http://ip:port/user/login//注册:http://ip:port/user/register//查询:http://ip:port/user/query//查询通过ID:http://ip:port/user/queryid//1.从功能上去设计//2.从功能贯穿到命名,就是言简意赅,用户一看到api url就知道干什么用的.////引出问题,我们目前设计好的都是没有实现的,将来实现以后,也是前端发请求给后端//1.后端怎么根据这四个不同的请求,来进行判断//2.如何在识别了这些不同的请求以后,能给出不同的请求 路由:/*** * @time:2016-09-07 * @desc:nodejs 路由 后端路由 * 主要的作用是判断浏览器用户发来的不同的请求,并且做出不同的回应 * @auth:StevenYu * */ var router = function(request,response,url){ var _url = request.url; console.log(_url); var _requestUrl = url.parse(_url); //把当前的请求转换成请求对象,可以将当前对象的全部信息获取到 console.log(_requestUrl); //判断不同的请求,给用户反馈不同的json数据(路由) var currentPath = _requestUrl.pathname;//获取请求地址 switch(currentPath){ case "/users": var users = '{"users":"dong.xie"}'; response.write(users); break; case "/goods": var goods = '{"goodId":"1009","goodName":"零食","goodPrice":"100"}' response.write(goods); break; case "/query": var query = '{"total":"100","result":"[{},{},{}]"}' response.write(query); break; case "/favicon.ico": break; } }module.exports = router;
0 0
- nodejs-基本使用
- nodejs 的基本使用
- NodeJS基本使用简介
- [NodeJS] Mongoose Populate 基本使用
- NodeJS基本
- NodeJS基本
- nodejs模块nodemailer基本使用-邮件发送(支持附件)
- nodejs模块nodemailer基本使用-邮件发送(支持附件)
- nodejs使用
- nodejs使用
- NodeJS 基本操作
- nodejs的基本操作
- nodeJS基本模块
- 【NodeJS】使用forever管理nodejs
- 【NodeJs】NodeJs中使用highstock
- NodeJs基本语法和类型
- nodejs基本的mvc原理
- Nodejs使用mysql
- 图像自动去暗角算法
- 登录时,记住用户名和密码的功能——HTML5 WEB存储(localStorage)
- Spring MVC + Ajax异步提交文件(多个)和数据
- Saving Data笔记
- '"><img src=1 onerror=console.log('XSS')>
- nodejs-基本使用
- 关于linux编译链接库问题
- 题目:给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
- 图标动画技术入门(An Introduction to Icon Animation Techniques翻译)
- 设计模式之单例模式
- MFC中两个对话框之间数据传递
- Volley框架封装
- Java九种基本数据类型的大小,以及他们的封装类。
- POSIX 线程编程指南(二)