分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

在nodejs中 Object的toString()方法 querystring的stringify() JSON.stringify()

发布时间:2023-09-06 01:10责任编辑:沈小雨关键词:jsnodejsgif

刚学nodejs,做到一个例子:发送简单的HTTP请求。遇到一个问题,客户端给服务端发送的消息到服务端,服务端收不到消息,确切的说是“”。

以下是服务端代码:server.js

const http = require("http");const qs = require("querystring")http.createServer(function(request,response){ ???var body =""; ???request.on("data",function(chunk){ ???????body+=chunk; ???}) ???request.on("end",function(){ ???????response.writeHead(200,{"ContentType":"text/html;charset=utf-8"}); ???????console.log(body) ???????process.stdout.write("got name :"+ qs.parse(body)["name"]+"\n") ???})}).listen(3000);

 以下是客户端代码:

var http = require("http");var qs = require("querystring")var options = { ???hostname: ‘127.0.0.1‘, ???port: 3000, ???path: ‘/‘, ???method: ‘POST‘,};function getname(theName){
???var b = {name:theName};
???var a=qs.stringify(b)
???console.log(typeof theName)
???console.log("theName:"+theName+" ,b转换为string后的a:"+a);
???http.request(options,function(response){
???????response.setEncoding(‘utf8‘);
???????var body ="";
???????response.on(‘data‘, function(chunk){
???????????body+=chunk;
???????});
???????response.on(‘end‘,function (){
???????????process.stdout.write("client compate!\n");
???????})
???}).end(a);
}//正确代码process.stdin.on("data",function(inputData){ ???process.stdout.write("your name:"+inputData); ???console.log("输入内容: "+inputData+" 转换为string后:"+inputData.toString().replace("\r\n",""))//inputData 有回车 ???getname(inputData.toString().replace("\r\n",""));})

//错误代码
process.stdin.on("data",function(inputData){ ???process.stdout.write("your name:"+inputData); ???getname(inputData);})

服务端,在这里无需多说。我们看到客户端的错误代码:这里,没有对接收到的“用户输入数据”的inputData处理,所以这里的inputData是Object类型;

看到客户端反馈结果:

服务端的返回结果:

相继查看了b的类型:

相信这里已经知道了问题的根源:获得的参数是一个buffer类型的,导致后面解析出问题。那么在调用getname的时候把参数转换好就行了。这个逻辑应该可行。

但是在这里我就有一个疑问,这个接收到的输入的对象该怎么转换呢?

querystring:其中nodejs中有一个模块,querystring,作用是对URL的查询字符串进行解析;有stringify() 和parse()两个方法,一个是转字符串,一个是解析为对象;

JSON处理JSON字符串的;JSON.stringify()可以解析为string;

toString()方法:都可以解析为string

这里我们采用的是inputData.toString().这里只是传递参数,也不是跟URL相关,自然用这个。好了问题解决!

在nodejs中 Object的toString()方法 querystring的stringify() JSON.stringify()

原文地址:http://www.cnblogs.com/lixiuming521125/p/7504659.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved