2

我正在尝试使用绑定到本地 node.js 数据服务器(运行在 localhost:3000,数据库 MongoDB)的数据来测试 PhoneJS 应用程序,它在我的浏览器(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"
   }

我错过了一些重要的参数吗?

这是我的 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...');
4

1 回答 1

11

Ripple 模拟器默认启用“远程跨域代理”。对于本地主机连接,在“设置”可折叠组中禁用它(或设置为本地,如果您的服务不兼容CORS )。

于 2013-10-09T13:12:07.163 回答