AJAX错误:连接被拒绝?

我在MEN堆栈(MongoDB,Express和Node)上运行数字海洋服务器,registry格为:http: //45.55.177.167 : 3000/register

如果您尝试从下拉列表中select一个选项,则会收到以下错误: GET http://45.55.177.167:3000/price?name=pro&cycle=monthly net::ERR_CONNECTION_REFUSED

我想知道这是为什么? 我想这个错误消失,得到的回应,以便价格相应地改变。

我的AJAX方法:

 $.get('/price', parameters, function(data) { callback(data.price); }); 

路线: app.route('/price').get(plans.getPrice);

控制器:

 var param_name = req.query.name; var param_cycle = req.query.cycle; var query = param_name + "_" + param_cycle; Plan.findByName(query, function(err, selected_plan) { var formatted_price = format_price(selected_plan.price) + '.00'; res.send({price: formatted_price}); }); 

这对我的本地主机工作正常,但是当我将它部署到一个液滴,我得到错误。 如果需要澄清,请让我知道。

检查你的IP后,我确定你的问题是数据。 你得到错误“拒绝连接”,因为该应用程序没有任何理想的对象参数运行testing。 如果没有数据,尝试访问未定义的属性会引发错误,导致您的应用程序中断,并返回您在客户端中看到的错误。

我们没有更改任何代码来解决此问题。 你的项目可以考虑完成。

将数据从本地mongo数据库集合迁移到远程主机解决了这个问题。 正如我所演示的,有一个简单的修复方法来快速迁移简单的数据结构:通过命令行连接到mongo,select数据库并find()每个集合。 正如您注意到的那样,它们只是简单的JSON对象,可以通过最小的修改insert()其复制到新的远程目标的insert()语句中。

对于拥有更多数据的情况,这不是一个明智的解决scheme,而不是一些收集中的简单结构化的有限数据。 你会想要使用一个程序化的解决scheme,比如倾销数据库来获取比我们在这里工作的任何东西都更大的东西。