我试图测试一个PhoneJS应用程序,其数据绑定到本地node.js数据服务器(运行在localhost:3000,数据库MongoDB) 它在我的浏览器(Chrome)中正常运行:
$.get('http://127.0.0.1:3000/Categories') get correctly the data...
现在尝试模拟移动设备,我通过Ripple模拟器运行它。应用程序在模拟器中正确显示,但在尝试从节点服务器获取数据时失败....
Failed to load resource: the server responded with a status of 500 (Internal Server Error) https://rippleapi.herokuapp.com/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=http%3A//127.0.0.1%3A3000/Categories
返回
{
"code": "ECONNREFUSED",
"errno": "ECONNREFUSED",
"syscall": "connect"
}
AM我错过了一些重要参数?
这是我的server.js:
var express = require('express'),
categories = require('./routes/category'),
products = require('./routes/product');
var app = express();
cors = require('./cors');
app.use(cors);
// categories
app.get('/categories/:id', categories.findById);
app.get('/categories', categories.findAll);
// products
app.get('/categories/:id/products', products.findByCategory);
app.get('/products/:id', products.findById);
app.get('/products', products.findAll);
app.listen(3000);
console.log('Listening on port 3000...');
答案 0 :(得分:11)
Ripple模拟器具有"远程跨域代理"默认启用。对于localhost连接,请在"设置"中禁用它。可折叠组(或设置为本地,如果您的服务不是CORS - 兼容)。