Node.js服务端初入门之POST解析
2017-02-15 16:04
295 查看
情景,服务端Node.js 客户端iOS
我们利用NSURLSession向服务器发起POST请求,请求参数是字典parameters。
var http = require('http');
//服务端
http.createServer(function(req,res){
var body = '';
req.on('data',function(chunk){
body+=chunk;
});
req.on('end',function(){
var jsObj = JSON.parse(body);
var user = jsObj.user;
var id = jsObj.id;
});
}).listen(33333);这里的 jsObj 就是对应的iOS传递的请求参数 parameters。
2.方法二,用buf接收请求体
var http = require('http');
//服务端
http.createServer(function(req,res){
var body = [];
req.on('data',function(chunk){
body.push(chunk);
});
req.on('end',function(){
body = Buffer.concat(body);
var str = body.toString();
var jsObj = JSON.parse(str);
var user = jsObj.user;
var id = jsObj.id;
});
}).listen(33333);至于buf还是字符串,这两个方法在性能上,以及坑上的问题,详细可见文章 浅谈nodejs的buffer类
一.客户端 iOS
//1.获得session NSURLSession *session = [NSURLSession sharedSession]; //2.请求参数request NSDictionary *parameters = @{@"user":@"chadpro", @"id":@"12345"}; NSURL *url = [NSURL URLWithString:@"http://192.168.1.77:33333"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; request.HTTPMethod = @"POST"; request.HTTPBody = [self dicToData:parameters]; //3.创建任务Task NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { NSString *dicString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSData *JSONData = [dicString dataUsingEncoding:NSUTF8StringEncoding]; NSError *err = nil; NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableLeaves error:&err]; NSLog(@"%@",dic); }]; //4.开始任务 [dataTask resume];
我们利用NSURLSession向服务器发起POST请求,请求参数是字典parameters。
二.服务端 Node.js
1.方法一,用字符串接收请求体var http = require('http');
//服务端
http.createServer(function(req,res){
var body = '';
req.on('data',function(chunk){
body+=chunk;
});
req.on('end',function(){
var jsObj = JSON.parse(body);
var user = jsObj.user;
var id = jsObj.id;
});
}).listen(33333);这里的 jsObj 就是对应的iOS传递的请求参数 parameters。
2.方法二,用buf接收请求体
var http = require('http');
//服务端
http.createServer(function(req,res){
var body = [];
req.on('data',function(chunk){
body.push(chunk);
});
req.on('end',function(){
body = Buffer.concat(body);
var str = body.toString();
var jsObj = JSON.parse(str);
var user = jsObj.user;
var id = jsObj.id;
});
}).listen(33333);至于buf还是字符串,这两个方法在性能上,以及坑上的问题,详细可见文章 浅谈nodejs的buffer类
相关文章推荐
- nodejs body-parser 解析post数据实例
- 使用node.js的bodyParser中间件读取post数据解析
- 基于node.js依赖express解析post请求四种数据格式
- node.js依赖express解析post请求四种数据格式()
- nodejs body-parser 解析post数据
- 入门级Node.js express服务端开发_Android签到APP
- 签到APP:android入门级小项目,Node.js 提供服务端接口。
- Node.js后台服务端技术入门
- 签到APP:android入门级小项目,Node.js 提供服务端接口
- node.js从入门到菜鸟——资源无法载入?你需要学会地址解析
- 基于node.js依赖express解析post请求四种数据格式
- node.js从入门到菜鸟——资源无法载入?你需要学会地址解析
- node.js依赖express解析post请求四种数据格式()
- 【Node.js-1】NodeJS简单入门、http、fs、url、querystring、接收客户端get/post数据
- Node.js和Express简单入门
- Node.js 入门
- 创业笔记-Node.js入门之JavaScript与Node.js
- JS入门难点解析4-执行上下文栈
- [web]Node.js入门
- 终于解决:在客户端和服务端都用dojo Loader来实现异步加载后,Node.js的全局变量__dirname无法使用