Node.js 简单节点服务器返回";无法获取/quot;
我有一个简单的服务器,当我转到localhost:3000时,我会得到“cannotget/”,当我尝试调用/注册时,它也会失败。有什么想法吗?谢谢Node.js 简单节点服务器返回";无法获取/quot;,node.js,Node.js,我有一个简单的服务器,当我转到localhost:3000时,我会得到“cannotget/”,当我尝试调用/注册时,它也会失败。有什么想法吗?谢谢 var express = require('express'); var gcm = require('node-gcm'); var apn = require('apn'); var app = express(); var device_token; /* , function(){ var host = server.addre
var express = require('express');
var gcm = require('node-gcm');
var apn = require('apn');
var app = express();
var device_token;
/*
, function(){
var host = server.address().address;
var port = server.address().port;
console.log(port, host);
}
*/
app.listen(3000);
app.use(function(req, res, next){
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.post('/register', function(req, res){
device_token = req.body.device_token;
console.log('device token received');
console.log(device_token);
res.send('ok');
});
您没有为
/
定义路由/register
不起作用,因为您有只接受post请求的app.post
。如果希望GET
请求/register
正常工作,请添加以下代码:
app.get('/register', function(req, res) {
res.send("It works!");
});
导航到浏览器中的页面是一个
GET
请求。您只为路由/register
的POST
请求定义了一个处理程序:
app.post('/register', function(req, res){
device_token = req.body.device_token;
console.log('device token received');
console.log(device_token);
res.send('ok');
});
您尚未为/
路线定义任何内容。因此,当您导航到其中一个时,它会正确地抛出无法获取
,因为该路由本身没有定义,即/
,或者该路由的获取
方法没有定义,即/register
您可以通过以下方式允许根url(/
)上的GET
请求:
对于/register
路由,您不应该使用GET
请求,因为您需要在请求正文中发送信息以实际注册用户。(只有post请求允许此操作)
您已经正确设置了它。你不能在浏览器中查看它。使用或curl测试它是否有效。我对node js express一无所知,但他们的文档显示在定义处理程序后调用listen()-如果这样做是否有效?似乎没有什么区别。我可以定义app.get(“/”)然后定义app.post吗(“/register”…?当然可以。除非您使用的是
next
,否则各种路由的放置顺序并不重要。是的,这是有意义的。但是,当我在控制台中查看时,我发现:无法加载resource@BillPope,您无法在客户端上加载服务器的路由。您只能在客户端上加载文件。这就是为什么您看到fai由于没有可加载的内容,导致加载资源。您应该使用类似于。$.ajax('/register',data)的内容发布到服务器的路由
我在postman中尝试过,但此部分失败:device\u token=req.body.device\u token;您必须以x-www-form-urlencoded的形式发送post请求。@BillPope express没有附带正文解析器中间件。您必须安装一个。您可以使用。有关详细信息,请查看express文档:
app.get('/', function(req, res){
res.send('Hello!')
})