Meteor中使用Cordova的CORS问题

3

我正在尝试在Meteor 1.8上实现CORS,突然在我的应用中遇到了这个问题:

"我chromium:[INFO:CONSOLE(0)]"Access to XMLHttpRequest at 'http://192.168.1.14/sockjs/info?cb=3lc2_ftamu' from origin 'http://localhost:12368' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.",source: http://localhost:12368/ (0)"

它只出现在Android和iOS上,而不是仅在网页上运行时。

我搜索了所有的Stack Overflow、Meteor帮助和论坛,并尝试了:

WebApp.rawConnectHandlers.use(function(req, res, next) {
    res.setHeader("Access-Control-Allow-Origin", "*");
    return next();
});

也尝试在 mobile_config.js 中:

App.accessRule('*');

我还尝试了服务器上的其他头部,更新了Meteor,并尝试使用cors包:
...
WebApp.connectHandlers.use(cors(corsOptions));

当Meteor Cordova未运行时,还有其他常见问题。

有什么想法吗?

1个回答

1

哇,我在根目录和移动服务器的http地址中忘记了端口号(:3000):

http://localhost:3000

应该是这样的:

meteor run android --mobile-server http://ip-addr:3000

Ip-addr应该是您的本地IP地址。 我只是忘记了在Android上告诉Cordova版本应用程序在本地端口3000上运行的:3000。


你能否编辑你的答案并提供完整的解决方案?你尝试过哪些不同的选项仍然需要? - dagatsoin
抱歉迟来的编辑,因为我不幸地没有收到人们在这里评论时的电子邮件提醒。 - user3819370

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接