与阿尔伯特·爱因斯坦有node.js问题

Has node.js problems with Albert Einstein?

本文关键字:node js 问题 爱因斯坦 阿尔伯特      更新时间:2024-03-02

(服务器使用node.js、Express和MySQL在表中添加新用户)

客户:

...
console.log(options.path);
var request = http.request(options, function(res) {
  res.on('data', function(resp) {
    console.log(resp.toString());
  });   
});
request.end();  
request.on('error', function(err) {
  console.error('ERROR:' + err.message + ', code: ' + err.code);
}); 
...

第一次测试合格:

$ node test
/{"funcion":{"tabla":"usuarios","accion":"alta","ambito":"todos"},
             "dato":{"usuario_id":0,"nombre":"AlbertEinstein","dni":"00000000M",
             "usuario":"theory","password":"relativity","activo":0}}
{
  "fieldCount": 0,
  "affectedRows": 1,
  "insertId": 7,
  "serverStatus": 2,
  "warningCount": 0,
  "message": "",
  "protocol41": true,
  "changedRows": 0
}

第二次测试与第一次测试相同,但阿尔伯特和爱因斯坦之间有一个空格:

$ node test
/{"funcion":{"tabla":"usuarios","accion":"alta","ambito":"todos"},
             "dato": {"usuario_id":0,"nombre":"Albert Einstein","dni":"00000000M",
             "usuario":"theory","password":"relativity","activo":0}}
ERROR:socket hang up, code: ECONNRESET

"错误:套接字挂断,代码:ECONNRESET"当我发送"Albert Einstein"时,与"Albert Eiinstein

已解决!

是的,它讨厌阿尔伯特·爱因斯坦,但爱阿尔伯特·爱因斯坦!

Client
...
options.path = encodeURI(path);
...
Server
...
valor = decodeURI(request.params.valor);
...

一个从不犯错误的人从不尝试任何新事物。

Albert Einstein(或Albert%20Einstein)