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