【问题标题】:Node JS works on localhost, online 404Node JS 在本地主机上工作,在线 404
【发布时间】:2017-01-27 06:49:03
【问题描述】:

所以我正在尝试发布一个节点 js 应用程序,但它为我的帖子调用返回 404。它在本地主机上完美运行。这是我的代码:

app.js

var express = require('express');
var path = require('path');  
var routes = require('./routes/index');
var users = require('./routes/users');


var app = express();
var server = require('http').Server(app); 

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');


app.use(express.static(path.join(__dirname, '/')));  
app.use('/', routes);
app.use('/users', users); 



server.listen(process.env.PORT || 3000,function(){
    console.log("Working on " + process.env.PORT);
});


module.exports = app;

这是我的路线 index.js

var express = require('express');
var request = require('request'); 
var path = require('path');
var bodyParser = require('body-parser');

var router = express.Router();
var app = express();

var jsonParser = bodyParser.json() 
app.use(bodyParser.json())


var Connection = require('tedious').Connection; 
var databaseConnection
var config = {}


var Connection = require('tedious').Connection;  
var config = {  
    userName: 'asdasd',  
    password: 'password',  
    server: 'server',   
    options: {encrypt: true, database: 'asdasd'}  
};  
var connection = new Connection(config);  
connection.on('connect', function(err) {   
    console.log("Connected");  
});  


router.post('/call',jsonParser, function(req,res){ 
   res.send('someresponse')
}

我只是通过 ajax 调用 /call ,但它一直抛出 404 not found 。 我究竟做错了什么 ?在 localhost 上工作但不在网上工作对我来说没有意义。

【问题讨论】:

    标签: ajax node.js post http-status-code-404


    【解决方案1】:

    如果您使用 express,则不能直接使用 express 启动服务器。

    app.listen(port)
    

    如果你想用 nodejs http 来做,你还必须设置 nodejs 应该监听的端口。

    nodejs http

    express app.listen

    【讨论】:

    • 你能更准确地说我应该做什么,我可以添加 app.listen(process.env.PORT) 吗?
    • 这是一种可能性,如果您设置环境变量。但是你也可以只用 app.listen(8080) 作为例子
    • 嗯,天哪,仍然没有帮助,在添加 app.listen 或 server.listen 并重新启动我的网络应用程序后,我的通话仍然得到 404
    • 你用'node app.js'运行启动服务器吗?
    • 我正在将我的应用程序推送到在线 Web 应用程序,如果我没记错的话,我会使用 package.json 自动启动我的服务器。
    【解决方案2】:

    问题是我的自动生成的网络配置没有完成它的工作,我已经用我在互联网上找到的另一个交换了它

    https://github.com/projectkudu/kudu/wiki/Using-a-custom-web.config-for-Node-apps

    刚刚从 server.js 改成了 app.js

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-04
      • 2015-04-09
      • 2018-03-04
      • 2015-10-25
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多