Gop*_*gop -2 javascript syntax syntax-error node.js
我正在学习nodeJS,我有这个语法错误,我不明白.有人可以指出什么是语法错误,为什么我会得到它,以及如何绕过它?
var http = require('http');
var url = require('url');
var server = http.createServer(function(req,res) {
if (req.method == 'POST') {
return res.end("Only get requests");
}
var st = url.parse(req.url,true);
if (st.indexOf("parsetime") > -1) {
var time = st.substring(st.indexOf("iso"));
var date = new Date(time);
var out = '{
"hour":'+date.getHours()+',
"minute":'+date.getMinutes()+',
"second":'+date.getSeconds()+',
}';
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(out);
} else if (st.indexOf("unixtime") > -1) {
var time = st.substring(st.indexOf("iso"));
var date = new Date(time);
var out = "{
'unixtime':"+date.getTime()+"
}";
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(out);
} else {
return res.end("404");
}
});
server.listen(process.argv[2]);
Run Code Online (Sandbox Code Playgroud)
语法错误在第11行:"var out ='{"
从这里删除单引号:
var out = '{
"hour":'+date.getHours()+',
"minute":'+date.getMinutes()+',
"second":'+date.getSeconds()+',
}';
Run Code Online (Sandbox Code Playgroud)
将以上内容更改为:
var out = {
"hour": date.getHours(),
"minute": date.getMinutes(),
"second": date.getSeconds(),
};
Run Code Online (Sandbox Code Playgroud)
或者,如果我可能误认为字符串包含JSON对象,则需要out使用以下方式声明这种方式并进行字符串化:
out = JSON.stringify(out);
Run Code Online (Sandbox Code Playgroud)