Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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 如何从用户节点获取输入_Javascript_Node.js - Fatal编程技术网

Javascript 如何从用户节点获取输入

Javascript 如何从用户节点获取输入,javascript,node.js,Javascript,Node.js,我目前有此nodejs代码来检查网站服务器是否正常运行: var http = require("http"); http.get({host: "nodejs.org"}, function(res){ if( res.statusCode == 200 ) console.log("This site is up and running!"); else console.log("This site is down " + res.statusCode

我目前有此nodejs代码来检查网站服务器是否正常运行:

var http = require("http");
http.get({host: "nodejs.org"}, function(res){
   if( res.statusCode == 200 )
       console.log("This site is up and running!");
   else
       console.log("This site is down " + res.statusCode);
});
现在,我想让程序要求用户进入一个网站,然后它会检查该网站是上还是下。我尝试在此处使用提示方法:

var website = prompt("Please enter the website server you would like to check", "google.com");
但是,当我运行此命令时,会出现以下错误:

ReferenceError: prompt is not defined
 at Object.<anonymous> (/Users/navania/WebstormProjects/untitled/UpOrDown.js:3:15)
 at Module._compile (internal/modules/cjs/loader.js:776:30)
 at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
 at Module.load (internal/modules/cjs/loader.js:653:32)
 at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
 at Function.Module._load (internal/modules/cjs/loader.js:585:3)
 at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
 at startup (internal/bootstrap/node.js:283:19)
 at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3).
I also tried using window.prompt as many other questions suggested, but that still gave me the same error except it says that window is not defined.
ReferenceError:未定义提示
反对。(/Users/navania/webstrumprojects/untitled/UpOrDown.js:3:15)
at模块编译(内部/modules/cjs/loader.js:776:30)
在Object.Module._extensions..js(internal/modules/cjs/loader.js:787:10)
at Module.load(内部/modules/cjs/loader.js:653:32)
在tryModuleLoad(内部/modules/cjs/loader.js:593:12)
at Function.Module._load(内部/modules/cjs/loader.js:585:3)
位于Function.Module.runMain(internal/modules/cjs/loader.js:829:12)
启动时(内部/bootstrap/node.js:283:19)
在bootstrapNodeJSCore(internal/bootstrap/node.js:622:3)。
我还尝试使用window.prompt,正如许多其他问题所建议的那样,但这仍然给了我相同的错误,只是它说window没有定义。

任何帮助都将不胜感激。谢谢

您希望在哪个环境中使用此代码? 如果正确理解您的意思,您需要从命令行获取
url
,作为参数。为此,请查看以下代码:

var http=require(“http”);
var[url]=process.argv.slice(2);
console.log(url);
var request=http.get({host:url},函数(res){
如果(res.statusCode==200 | | res.statusCode==301 | | res.statusCode==302)
log(“此站点已启动并正在运行!”);
其他的
console.log(“此站点已关闭”+res.statusCode);
});
请求.on('error',函数(err){
console.log(“此站点已关闭”);
});
request.end();
$node index.jshttp://nodejs.com

更多信息请参阅帖子。

使用
readline
模块。它带有nodejs

示例来自:


您需要定义
提示符
<代码>变量提示=需要(“提示”)?确保安装了
prompt
npm i prompt--save dev
@IMustBeSomeone它需要的不仅仅是安装它。。。现有的代码不起作用……为什么?用户想要使用
提示符
,对吗?那么安装
prompt
会破坏现有的代码吗?嗯,不,它不会破坏现有的代码。但安装后还是会坏的。你建议安装的npm软件包已经三年没有更新了。谢谢你的回复。然而,我使用了这个代码,当我在终端命令中运行google.com时,它说这个网站已经关闭(状态代码为400),尽管它目前正在运行。你知道为什么会这样吗?事实上,似乎我输入的任何网站都会返回状态代码为400的状态。@oofmeister27它在我的计算机上工作。如果要检查
http
以外的其他协议,则需要使用适当的模块,例如
https
模块来检查
https
协议。为了摆脱这些东西,我建议你使用一个功能齐全的模块,比如or.Hm,如果这改变了什么的话,我目前正在使用WebStorm。我只想使用http协议。您可以发送一些您在计算机上所做操作的屏幕截图吗?我目前正在使用命令“node UpOrDown.js”,然后返回“此站点已关闭400”@oofmeister27 google.com将所有
http
请求重定向到
https
,并因此返回状态代码
301
,而实际上不是
200
。您需要考虑状态代码
301
const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question('What do you think of Node.js? ', (answer) => {
  console.log(`Thank you for your valuable feedback: ${answer}`);
  rl.close();
});