今天在工作中碰到使用nodejs http.request(options, callback)传多个参数,并且参数含空格的情况怎么传都失败,发现是用浏览器就成功,打印出来浏览器传输是encode过得,于是使用js的encodeURIcomponet(str),加密再传参果断成功,记录下来方便查阅;
var content = "this is a test";
var contact = "test@test.cn"
param = {"id":21}+','+contact+','+conten
var options = {
host: '127.0.0.1', //server adderss
port: 3000, //server port
method: method,
path: service+param //service and argument
};
var req = http.request(options, function(res) {});
解决方法:
param = JSON.stringify(user) + ',' + encodeURIComponent(contact) + ',' + encodeURIComponent(context);
附各种语言urlencode方法:
一.JavaScript:
编码: encodeURIComponent(URIString)
解码:
decodeURIComponent(encodedURIString) 二.ASP:编码:S erver.urlencode(str)
解码:
无三.Asp.Net编码:HttpUtility.Urlencode(str)解码:HttpUtility.UrlDecode(str)四.Php编码:urlencode(str)解码:urldecode(str)五.Java编码:java.net.URLEncode.encode(str)解码:java.net.URLDecoder.decode(str) 版权声明:本文为shulianghe原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。