Node.js报invalid argument错误:参数必须为string类型,查询数据库代码排查
问题排查与修复方案
1. 核心报错原因
你触发的invalid argument - argument must be of type string错误直接来源于这行代码:
var DailySummary = require();
Node.js的require方法强制要求传入字符串类型的模块路径/名称作为参数,空调用直接不符合方法入参要求,这是报错的根因。
从你的代码逻辑看你是要启动一个Web服务,大概率是需要引入express框架,修改为:
var express = require('express'); var DailySummary = express();
2. 其他需要修复的问题
- 冗余引入:代码顶部已经引入过
mssql模块,路由处理函数内部不需要重复require("mssql"),可以直接复用顶部的sql变量 - 语法错误:最后定义
exitProcess函数的末尾多了无效的闭合符号,原代码:
修正为:function exitProcess() { process.exit(0); });function exitProcess() { process.exit(0); } - 功能缺失:你当前代码仅将数据库查询结果返回给接口响应,没有调用你单独编写的Google Chatbot推送逻辑。如果需要实现自动推送,需要在
request.query的回调中拿到recordset后,将数据格式化为Google Chatbot要求的结构,再调用你的推送方法,而非直接res.send(recordset)。
内容的提问来源于stack exchange,提问作者Trè254
相关产品推荐
相关产品推荐

