node.js - 无法在heroku中的nodejs上发帖

标签 node.js heroku ionic-framework

我有一个在 Heroku 上运行的 Nodejs 应用程序。这是 server.js 文件

var express = require('express')
  , cors = require('cors')
  , app = express();
var http = require('http').Server(app);
var io = require("socket.io").listen(http);
app.use(cors());
require('./modules/routes.js')(app,io);
app.set('port', process.env.PORT || 5000);

app.listen(app.get('port'), function () {
    console.log('Express server listening on port ' + app.get('port'));
});

这是我的routes.js

"use strict";
const bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var time = require('express-timestamp');
var Promise = require('promise');
var momentjs = require('moment');
var _ = require('lodash');

var method = routes.prototype;

function routes(app, io) {

    app.use(time.init);
    app.use(cookieParser());

    app.use(session({ secret: 'asdo8rter65edfgfd53wet34634632y4bluaq', resave: true, saveUninitialized: true }));

    app.all('/', function(req, res, next) {
        res.header("Access-Control-Allow-Origin", "*");
        res.header("Access-Control-Allow-Headers", "X-Requested-With");
        next();
    });
    app.use(bodyParser.json());
    app.post('/testHeroku', function(req, res) {
        console.log(req);
        res.write(JSON.stringify({
            process: "success"
        }));
        res.end();
    });
}
method.getroutes = function() {
    return this;
}

module.exports = routes;

我正在尝试从 Android 模拟器中运行的 ionic 应用程序访问/testHeroku。

ionic 代码:

vm.testHeroku = function(){
      console.log('testing heroku');
            var testdata = {
              url: config.baseURL + 'testHeroku',
              dataServer: {
                serverTaskRequest: 'getUADSF'
              }
            }
            runajax.runajax_function(testdata, function (testdataResponse) {
              if (testdataResponse.process == 'success') {
                alert(testdataResponse.process);
              }
            }); 
    };

这是我的 config.baseURL = abcd-1234.herokuapp.com (这是 heroku 应用程序 url 的示例) 我没有收到 http 调用的任何返回。

run_ajax 服务的代码

.service('runajax', ['$http', function ($http) {
    this.runajax_function = function (request, callback) {
      var url = request.url;
      var dataServer = request.dataServer;
      // console.log('runajax function called -> ' + url);
      // console.log(dataServer);
      $http.post(url, dataServer).success(function (data, status, headers, config) {
          callback(data);
        })
        .error(function () {
          callback(status);
        });
    }
  }])

最佳答案

我成功了。 pp.set('port', process.env.PORT || 5000); 出现错误我把它改为var port = process.env.PORT || 8080;

关于node.js - 无法在heroku中的nodejs上发帖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43951803/

相关文章:

javascript - 如何在 Electron 应用程序中获取持久权限?

javascript - 将带有 for 循环和递归的回调转换为 Promise

javascript - 如何让我的index.htm 文件包含其他html 文件

node.js - 如何使用 aws polly api tts 网页并保存在 aws s3 中

javascript - Ionic 未加载选项卡页

heroku - 在Heroku评论应用中将主机名设置为环境变量

ssl - 为根域生成 CSR(是否包含 www?)

ruby-on-rails - 出了些问题。 Heroku 应用问题

javascript - Ionic Cordova 推送提醒问题与振动和声音 iOS

javascript - 异步请求的 ionic 列表无限滚动问题