【发布时间】:2018-01-31 09:37:00
【问题描述】:
我正在使用服务器 javascript 文件、JSON 数据和节点服务器在 Atom 中编程!
var fs = require('fs');
var dataP = fs.readFileSync('database.json');
var data = JSON.parse(dataP);
var express = require('express');
var app = express();
var server = app.listen(3000);
app.use(express('website'));
app.get('/check/:input', addInput);
function addInput(request, response){
var inputData = request.params.input;
if(!inputData){
response.send("Error: no input was found");
}
}
所以我让终端运行我的服务器,输入 nodemon server.js 当我测试 url 代码 @ localhost:3000/check 时,它不会捕获错误我写的消息 Error: no input was found 我觉得这很奇怪,因为如果我假设正确,它是一个空输入。我还尝试更改 if 语句并添加:
if(!data && data == null)
//Also tried
if(!data || data == null)
这些语句似乎都无法捕捉到错误。我从服务器返回的消息是:Cannot GET /check/
//if I add a ? at the end of input like this
app.get('/check/:input?');
我会收到一条消息:内部服务器错误
是否有其他解决方案来处理捕获错误?我尝试对此进行调试,但它会跳过 app.get 行,然后我无法查看要检查的变量。
【问题讨论】:
-
@styfle 不一样,我试过在 ?所以会是 app.get(/check/:input*?); 还是一样的,没有结果
-
您只尝试过
app.get('/check/:input*')吗? -
@styfle 是的!我也试过 app.get('/check/:input?*') 似乎没有任何效果
-
如果您尝试不使用
nodemon server.js而只使用node server.js会怎样?
标签: javascript json node.js server