首页 > 解决方案 > 为什么正确读取请求时服务器响应不正确?

问题描述

我在 Node.js repl 上,我创建了一个新的项目文件夹并初始化了 NPM,然后我安装了 Express 包并将以下代码写入 js 文件:

 const express = require('express');
    const app = express();
    app.listen(5000, function(){
        console.log("server started on port 5000");
    })

    app.get("/", function(req, res){
        res.send("Hi There! Welcome!")
    })

    app.get("/speak/:animalName", function(req,res){
        var animalName = req.params.animalName;
        var verso = "verso";
        if (animalName = "pig"){
            verso = "oink"
        } else if (animalName = "dog"){
            verso = "bau"
        } else if (animalName = "cat"){
            verso = "Miao"
        }

        console.log(req.params);
        res.send("THE " + animalName + " says " + verso);
    })

    app.get("*", function (req, res){
        res.send("Sorry, the page cannot be found")
    })

当我使用 Nodemon 打开 js 文件时,服务器会正​​确启动,并且当我在 URL 字段中键入特定模式时,console.log 会正确返回 req.params(在下面的示例中:对于我键入“cat”,控制台返回了{ animalName: 'cat' } 尽管如此,浏览器中的响应不正确:

在此处输入图像描述

标签: javascriptexpressnpmnodemon

解决方案


=在你的条件下使用一个单一的。这总是分配变量,而不是测试相等性。使用=====


推荐阅读