express.js应用程序不会回应

这里是一个快递服务器代码:

var express = require('express'); var mysql = require('mysql'); var app = express(); app.use(express.bodyParser()); app.use(express.static('public')); var connection = mysql.createConnection({ host : 'localhost', user : 'someuser', password : 'somepassword', database: 'some_database' }); connection.connect(); app.get('/users/authenticate', function(req, res){ res.setHeader('Content-Type', 'application/json'); res.send({test:"test"}); res.end(); }); app.listen(3000); console.log('Listening on port 3000'); 

现在,当我发出一个获取请求到这个API,我没有得到任何响应的networking控制台选项卡,虽然响应代码是200 OK。 请说明一下。 我期望JSON数据在这里。 这是我在我的控制台中得到的:

在这里输入图像说明

在这里输入图像说明

尝试使用:

 app.get('/users/authenticate', function(req, res){ res.json({foo:'bar'}); }); 

另外,如果你在不同的领域做这个,你将需要设置CORS。

 var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header('Access-Control-Allow-Headers', 'Content-Type'); next(); } app.configure(function() { app.use(allowCrossDomain); } 

…如果您尝试从本地主机testingCORS,则需要打开一些禁用安全性的Chrome。 如果您在Mac上,则使用以下命令完成。 在运行之前,请确保Chrome已closures。

 `open -a Google\ Chrome --args --disable-web-security` 

代码是好的。 我得到{testing:“testing”}从浏览器和也使用

 curl http://localhost:3000/users/authenticate