Express.js:TypeError:无法读取未定义的属性“toLowerCase”

Express.js:TypeError:无法读取未定义的属性“toLowerCase”,express,undefined,typeerror,Express,Undefined,Typeerror,我有一个正在运行的应用程序,可以在访问。它是一本双语词典 我想实现这个功能:当输入像axxam这样的单词时,字典将显示这个单词的女性形式,即taxxamt。我希望这个女性化的单词成为一个链接,这样,如果用户点击它,它就会显示这个单词的英语意思 我在ejs文件中对该功能进行了编码,但当我单击链接时,它会显示: TypeError:无法读取未定义的属性“toLowerCase” 以下是应用程序的主要部分: app.js: app.get('/', function(req, res) {res.re

我有一个正在运行的应用程序,可以在访问。它是一本双语词典

我想实现这个功能:当输入像axxam这样的单词时,字典将显示这个单词的女性形式,即taxxamt。我希望这个女性化的单词成为一个链接,这样,如果用户点击它,它就会显示这个单词的英语意思

我在ejs文件中对该功能进行了编码,但当我单击链接时,它会显示: TypeError:无法读取未定义的属性“toLowerCase”

以下是应用程序的主要部分:

app.js:

app.get('/', function(req, res) {res.render('index')});
app.get('/searching', function(req, res, next){
var val = req.query.search;
var options= req.query.lang;
val = val.toLowerCase().trim();
var str;
display.ejs:这是我将女性词转换为href链接的一行:

<%= grammatical[j].pos%></i>: (<i>unti:</i> <a href="/searching"><%=        
feminine %></a>,
asget:<%= grammatical[j].pl%>
到目前为止,我尝试了其他线程中给出的解决方案,但未取得任何成功:我尝试了:

val= val.toString().toLowerCase().trim()
val= val.toString.toLowerCase().trim()
JSON.stringify(feminine)

最后,我想要的是将href链接中的单词作为输入发送到路由:/search。

无法读取属性。。。of undefined通常表示调用方法的变量为null或未定义,在您的例子中为req.query.search。尝试在赋值后放置一个断点,以验证val是否为null

我不明白如何定义它!我警告变量,它会正确地给出链接的文本。问题可能出在路由上吗?
val= val.toString().toLowerCase().trim()
val= val.toString.toLowerCase().trim()
JSON.stringify(feminine)