Javascript 为什么我不能访问node.js基本公共API?
每当我尝试访问它时,它根本不加载,只是挂起。我也遇到过类似的问题,没有加载任何子页面。我不确定原因是什么。我通过移动热点连接,但我不使用代理连接到互联网 我尝试了不同的端口,结果相同Javascript 为什么我不能访问node.js基本公共API?,javascript,node.js,Javascript,Node.js,每当我尝试访问它时,它根本不加载,只是挂起。我也遇到过类似的问题,没有加载任何子页面。我不确定原因是什么。我通过移动热点连接,但我不使用代理连接到互联网 我尝试了不同的端口,结果相同 const http = require('http'); const server = http.createServer((req, res) => { if (req.url === '/') { res.write('Hello World'); res.en
const http = require('http');
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.write('Hello World');
res.end();
}
if (req.url === '/api/courses') {
res.write(JSON.stringify([1, 2, 3]));
res.end();
}
});
server.listen(3000);
console.log('Listening on port 3000...');
预期结果是显示数组
[1,2,3]
。实际结果是页面在没有加载的情况下挂起。因为您没有返回有效的JSON对象
res.write(JSON.stringify([1,2,3])代码>
试试这样的
res.write(JSON.stringify({“result”:[1,2,3]))代码>无更改,在我的电脑中工作正常,请在匿名窗口或更改端口中尝试一次
const http = require("http");
const server = http.createServer((req, res) => {
if (req.url === "/") {
res.write("Hello World");
res.end();
}
if (req.url === "/api/courses") {
res.write(JSON.stringify([1, 2, 3]));
res.end();
}
});
server.listen(8080);
console.log("Listening on port 8080...")
检查链接-我发现我的问题的答案是不要将第二个if req.url设置为strict equals/api/courses。有人解释了为什么这不起作用吗?你确定这是因为==
在你的例子中,可能是测试时你的URL输入错误。您应该添加一个回退案例来调试问题。类似于:if(req.url==='/'){…}else if(req.url=='/api/courses'){…}else{res.write(JSON.stringify({url:req.url}));res.end();}
为什么需要以{“result:[1,2,3]}的形式返回数据<代码>[1,2,3]
已经是有效的JSON。你为什么要做另一个答案的精确拷贝(包括打字错误)?