param(url裏面的參數)使用base64編碼的時候會出現 +號
而傳url的時候 後臺接受到param 的時候會把 +號 認爲是空格 從而解析錯誤
辦法:req.query.param = req.query.param.replace(/ /g,'+');
/pattern/是正則表達式的界定符,裏面的內容(pattern)是要匹配的內容
對於表達式對象的exec方法,不加入g,則只返回第一個匹配,無論執行多少次均是如此,如果加入g,則第一次執行也返回第一個匹配,再執行返回第二個匹配,依次類推。例如
特殊情況下 前臺按照接口文檔 不傳入對應數值的時候 使用 typeof給個默認值
var searchStr=typeof reqParam.searchStr !='string' ? "" : reqParam.searchStr;
replace into table (id,name) values('1','aa'),('2','bb')
REPLACE的運行與INSERT很相似。只有一點例外,假如表中的一箇舊記錄與一個用於PRIMARY
KEY或一個UNIQUE索引的新記錄具有相同的值,則在新記錄被插入之前,舊記錄被刪除。
注意,除非表有一個PRIMARY KEY或UNIQUE索引,否則,使用一個REPLACE語句沒有意義。該
語句會與INSERT相同,因爲沒有索引被用於確定是否新行復制了其它的行。
superagent用法 :https://cnodejs.org/topic/5378720ed6e2d16149fa16bd
var request =require('superagent');
request
.post(url)
.send(param)
.set(headers)
.end(function(err,data){
if(err||data.status>=400){
log.error('[apiTest] error: ' + JSON.stringify(data));
res.statusCode = data.status ? 403 : data.status;
res.send(data.text);
}
else {
log.info('apiTest: ' + JSON.stringify(data.text));
res.statusCode = data.status;
res.send(data.text);
}
});
param和headers都是obj對象
var url = require('url');
var a = url.parse('http://example.com:8080/one?a=index&t=article&m=default');
console.log(a);
//輸出結果:
{
protocol : 'http' ,
auth : null ,
host : 'example.com:8080' ,
port : '8080' ,
hostname : 'example.com' ,
hash : null ,
search : '?a=index&t=article&m=default',
query : 'a=index&t=article&m=default',
pathname : '/one',
path : '/one?a=index&t=article&m=default',
href : 'http://example.com:8080/one?a=index&t=article&m=default'
}
nodejs生成UID(唯一標識符)——node-uuid模塊
unique identifier 惟一標識符 -->> uid
在項目開發中我們常需要給某些數據定義一個唯一標識符,便於尋找,關聯。
node-uuid模塊很好的提供了這個功能。
https://github.com/broofa/node-uuid/
使用起來很簡單,兩種:
var uuid = require('uuid');
1、uuid.v1(); -->基於時間戳生成 (time-based)
2、uuid.v4(); -->隨機生成 (random)