0
这里是明文密码Node.js的Express.js并不总是发送有效的JSON
app.post('/v1/sessions' function(req,res){
res.send({id:1234});
});
出于某种原因,JSON响应回来这样
OK{ id: 1234}
为什么是OK吗?
编辑
好了,所以这里是我的所有代码。我不知道它会发送OK。
var express = require('express');
var app = express();
app.enable('trust proxy');
app.use(express.bodyParser());
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
next();
});
app.post('/v1/sessions', function(req, res) {
if(req.body.email == '[email protected]' && req.body.password == 'testpass'){
res.send(200, JSON.stringify({token:{id:'longstring',email:'[email protected]'}}));
} else {
res.send({code:403, error:"Invalid email or password"});
}
});
app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Origin, Accept');
res.header('Access-Control-Allow-Credentials', 'true');
if (req.method.toLowerCase() === 'options') {
res.send(200);
} else {
next();
}
});
app.listen(3000);
console.log('Listening on port 3000');
这不是你的全部代码。您正在某处发送“确定”。 – Brad
当你说“回复像这样回来”时,你如何确定?你使用什么工具。 “确定”是对应于200状态码的文本,因此有些工具可能会将其放在那里。您是否尝试过'curl'或查看webkit开发工具网络选项卡? –
我在调试Android手机浏览器时在weinre中看到它。一切工作正常在铬,但没有在Android本机。在网络视图中,您可以看到标题,有时内容可以正常显示,有时不会显示。当它确定浏览器认为它是MIME类型application/octet-stream – whitehead1415