math.random()在nodejs的浏览器中不起作用

hsgswve4  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(459)

我在node中编写此代码,但当我点击地址时,math.random()在浏览器中不工作。它显示错误,但在cmd中工作正常,即comsole.log(x)。
错误是在此处输入图像描述

var express = require('express');
var app = express();

app.get("/",function(req,res){
    console.log("Someone Requested Us!");
    res.send("You've Reached The Home Page"); //res.write("Hello World");
    res.end();
});

app.get("/random_num",function(req,res){
    const x = Math.floor(Math.random() * 10) + 1 ;
    console.log(x);
    res.send(x);
    //res.end();
});

app.listen(3000, function(){
    console.log("Server Running On 3000");
});
njthzxwz

njthzxwz1#

res.send([body])不希望发送数字。
body参数可以是缓冲区对象、字符串、对象、布尔值或数组。
查看您的错误,看起来前面的数字是允许的,并且被隐式用作 HTTP Status Codes (例如:200404201)。现在,express认为您在使用发送状态代码时仍然使用版本中的旧语法 .send() 这是正常的。现在它被弃用了。无论如何,8不是一个有效的代码。
你可以做:

res.send({'random' : x });

您的错误还让您知道,如果要发送状态,您可以简单地使用res.sendstatus(200)等。不过,你可能不希望这样。

ftf50wuq

ftf50wuq2#

问题不在于随机性,而在于您以错误的方式返回响应。

res.sendStatus(200).json(x)

相关问题