Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在express js的get请求中使用开关返回错误为什么?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 在express js的get请求中使用开关返回错误为什么?

Javascript 在express js的get请求中使用开关返回错误为什么?,javascript,node.js,express,Javascript,Node.js,Express,因此,我仍然是nodejs的初学者,当我在浏览器中运行时,我会收到这样一条消息,无法获取/,我想这是因为我使用了switch语句。我不能在应用程序内使用开关。获取?我想使代码干燥,这就是为什么我使用开关。 const express=require('express'); 常量app=express(); 常数端口=3000; 常量主机名='localHost'; app.get('/:main/:sub/:sub2',(req,res)=>{ 让main=String(req.params.

因此,我仍然是nodejs的初学者,当我在浏览器中运行时,我会收到这样一条消息,
无法获取/
,我想这是因为我使用了switch语句。我不能在
应用程序内使用开关。获取
?我想使代码干燥,这就是为什么我使用开关。

const express=require('express');
常量app=express();
常数端口=3000;
常量主机名='localHost';
app.get('/:main/:sub/:sub2',(req,res)=>{
让main=String(req.params.main).toLowerCase();
let sub=字符串(req.params.sub).toLowerCase();
设sub2=String(req.params.sub2.toLowerCase();
开关(主){
案例“”:
res.send('Hi there welcome to my assignment');
案例“发言”:
{
开关(sub){
案例“猪”:
res.send(`pig说'Oink'`);
案例“奶牛”:
res.send(`奶牛说'哞'`);
案例“狗”:
res.send(`狗说'汪汪!'`);
案例“*”:
res.send(`对不起,这里没有人说话!`);
}
}
案例“重复”:
{
如果(sub2===!NaN){
for(设i=0;i{
console.log(`server has start`)
});

您的空字符串大小写不是在
main
中搜索的有效参数

使用
app创建默认路线。改为获取

 const express = require('express');
        const app = express();
        const port = 3000;
        const hostname = 'localHost';
        app.get("/", (req, res) => res.send("Welcome to my assignment"));
        app.get('/:main/:sub/:sub2', (req, res) => {
            let main = String(req.params.main).toLowerCase();
            let sub = String(req.params.sub).toLowerCase();
            let sub2 = String(req.params.sub2).toLowerCase();
            switch (main) {
                case "speak":
                    {
                        switch (sub) {
                            case "pig":
                                res.send(`The pig says 'Oink'`);
                                break;
                            case "cow":
                                res.send(`The cow says 'Moo'`);
                            break;
                            case "dog":
                                res.send(`The dog says 'Woof Woof!'`);
                            break;
                            case "*":
                                res.send(`sorry no one speaks here!`);
                            break;
                        }
                    }
                case "repeat":
                    {
                        if (!Number.isNaN(sub2)) {
                            let str = "";
                            for (let i = 0; i < sub2; i++) {
                                str+=sub;

                            }
                            res.send(str);
                        }
                        break;
                    }
                default:
                    res.send(`Page not found!`);
                    break;
            break;
            }
        });
        app.listen(port, hostname, () => {
            console.log(`server has started`)
        });
const express=require('express');
常量app=express();
常数端口=3000;
常量主机名='localHost';
app.get(“/”,(req,res)=>res.send(“欢迎来到我的作业”);
app.get('/:main/:sub/:sub2',(req,res)=>{
让main=String(req.params.main).toLowerCase();
let sub=字符串(req.params.sub).toLowerCase();
设sub2=String(req.params.sub2.toLowerCase();
开关(主){
案例“发言”:
{
开关(sub){
案例“猪”:
res.send(`pig说'Oink'`);
打破
案例“奶牛”:
res.send(`奶牛说'哞'`);
打破
案例“狗”:
res.send(`狗说'汪汪!'`);
打破
案例“*”:
res.send(`对不起,这里没有人说话!`);
打破
}
}
案例“重复”:
{
如果(!Number.isNaN(sub2)){
设str=“”;
for(设i=0;i{
console.log(`server has start`)
});

编辑我还调整了“重复”功能<代码>!NaN
始终为
true
。您的原始代码基本上说是
if(sub2===true)
,它永远不会这样。我用
修改了它!Number.isNaN
条件方法。然后我连接了一个字符串并将其输出了
n
次。

您的空字符串大小写不是在
main
中搜索的有效参数

使用
app创建默认路线。改为获取

 const express = require('express');
        const app = express();
        const port = 3000;
        const hostname = 'localHost';
        app.get("/", (req, res) => res.send("Welcome to my assignment"));
        app.get('/:main/:sub/:sub2', (req, res) => {
            let main = String(req.params.main).toLowerCase();
            let sub = String(req.params.sub).toLowerCase();
            let sub2 = String(req.params.sub2).toLowerCase();
            switch (main) {
                case "speak":
                    {
                        switch (sub) {
                            case "pig":
                                res.send(`The pig says 'Oink'`);
                                break;
                            case "cow":
                                res.send(`The cow says 'Moo'`);
                            break;
                            case "dog":
                                res.send(`The dog says 'Woof Woof!'`);
                            break;
                            case "*":
                                res.send(`sorry no one speaks here!`);
                            break;
                        }
                    }
                case "repeat":
                    {
                        if (!Number.isNaN(sub2)) {
                            let str = "";
                            for (let i = 0; i < sub2; i++) {
                                str+=sub;

                            }
                            res.send(str);
                        }
                        break;
                    }
                default:
                    res.send(`Page not found!`);
                    break;
            break;
            }
        });
        app.listen(port, hostname, () => {
            console.log(`server has started`)
        });
const express=require('express');
常量app=express();
常数端口=3000;
常量主机名='localHost';
app.get(“/”,(req,res)=>res.send(“欢迎来到我的作业”);
app.get('/:main/:sub/:sub2',(req,res)=>{
让main=String(req.params.main).toLowerCase();
let sub=字符串(req.params.sub).toLowerCase();
设sub2=String(req.params.sub2.toLowerCase();
开关(主){
案例“发言”:
{
开关(sub){
案例“猪”:
res.send(`pig说'Oink'`);
打破
案例“奶牛”:
res.send(`奶牛说'哞'`);
打破
案例“狗”:
res.send(`狗说'汪汪!'`);
打破
案例“*”:
res.send(`对不起,这里没有人说话!`);
打破
}
}
案例“重复”:
{
如果(!Number.isNaN(sub2)){
设str=“”;
for(设i=0;i