我使用BackboneJS,NodeJS和ExpressJS设置了应用程序。我无法从我的应用程序访问我的路线。但我可以直接在浏览器中访问我的路线并查看输出。
例如,这有效:
http://test.myserver.com:3000/employees/1
(其中test.myserver.com
是我可在外部访问的服务器地址)
我的快递服务器声明如下:
var express = require('express'),
employee = require('./routes/employees');
var app = express();
app.get('/employees/:id', employee.findById);
app.listen(3000);
我的问题是,当我尝试通过我的应用程序访问路由时,我收到了访问错误。
http://test.myserver.com/pages/index.html#employees/1
GET http://localhost:3000/employees/1?callback=jQuery19107984810129273683_1457829695460&_=1457829695461 net::ERR_CONNECTION_REFUSED
如何使用Express在我的应用程序中访问我的路线?
答案 0 :(得分:0)
我看到了一个问题。您说您正在加载网页:
http://test.myserver.com/pages/index.html#employees/1
但是,URL请求适用于:
http://localhost:3000/employees/1?callback=jQuery19107984810129273683_1457829695460&_=1457829695461
这些是不同的域和不同的端口。在我看来,jQuery看到这是一个跨源请求,并试图将其转换为JSONP请求,但您的服务器不支持JSONP。
您可能需要做的就是让网页中的Javascript请求加载网页的SAME来源(相同的域,相同的端口)。然后,它不会是交叉原始请求,它应该工作(如果没有其他错误)。
请向您显示提出此请求的网页中的相关Javascript,以便我们更具体地告知如何解决此问题。
此外,如果您期望您的node.js服务器为您的网页提供服务,那么您将需要node.js代码来执行此操作(您不会显示任何代码),因为node.js默认情况下不提供任何页面(与其他一些Web服务器不同)。