Seneca致命错误 ==================
消息:seneca:行动cmd:注册,角色:api失败:无法读取属性'替换'未定义的。
代码:act_execute
详细信息:{message:'无法读取属性\'替换\' of undefined', 模式:' cmd:注册,角色:api', fn:[功能:注册], cb:[功能], 实例:' Seneca / pr061njfdnng / 1504005334341/1 / 3.2.2 / - ', '原稿$&#39 ;: TypeError:无法读取属性'替换'未定义的 在/usr/src/app/services/common.js:22:24 at Array.forEach(native) 在module.exports(/usr/src/app/services/common.js:20:13) 在Seneca.signup(/usr/src/app/services/api.js:117:17) 在execute_action(/usr/src/app/node_modules/seneca/seneca.js:1060:20) at Object.act_fn [as fn](/usr/src/app/node_modules/seneca/seneca.js:1013:11) 在Immediate.processor(/usr/src/app/node_modules/gate-executor/gate-executor.js:136:14) 在runCallback(timers.js:781:20) 在tryOnImmediate(timers.js:743:5) 在processImmediate [as _immediateCallback](timers.js:714:5), '消息$':'无法读取属性\'替换\' of undefined', 插件:{}}
堆栈: 在/usr/src/app/services/common.js:22:24 at Array.forEach(native) 在module.exports(/usr/src/app/services/common.js:20:13) 在Seneca.signup(/usr/src/app/services/api.js:117:17) 在execute_action(/usr/src/app/node_modules/seneca/seneca.js:1060:20) at Object.act_fn [as fn](/usr/src/app/node_modules/seneca/seneca.js:1013:11) 在Immediate.processor(/usr/src/app/node_modules/gate-executor/gate-executor.js:136:14) 在runCallback(timers.js:781:20) 在tryOnImmediate(timers.js:743:5) at processImmediate [as _immediateCallback](timers.js:714:5)
if(queryString.indexOf('?') > -1){
queryString = queryString.split('?')[1];
}
var pairs = queryString.split('&');
pairs.forEach(function(pair) {
pair = pair.split('=');
var s = pair[1].replace(/\+/g," ");
//console.log('s', s);
//console.log('pair[1]', pair[1]);
var sfinal = decodeURIComponent(s || '');
//console.log('sfinal', sfinal);
result[pair[0]] = sfinal;
});
//done( null, result )
答案 0 :(得分:1)
如果没有' ='在对中,返回的数组将具有单个元素,索引1将返回undefined。也许你应该检查一下。
答案 1 :(得分:1)
替换你的代码
var s = pair[1].replace(/\+/g," ");
到
var s = (!isNaN(pair[1])) ? pair[1].replace(/\+/g," ") : null;