我创建了一个VS Cordova项目,需要从Web服务下载一些数据,但Ripple在Chrome中运行,而Chrome认为该请求是“跨域”并阻止它。将ripple proxy选项设置为disabled / local / remote无效。我可以使用--web-security-disabled命令行选项启动另一个Chrome实例,将其指向相同的网址http://localhost:4409/ ...并且应用程序在第二个Chrome中正常运行。现在我需要的是在Visual Studio中按F5启动它时,找到一种方法将--web-security-disabled传递给Chrome。它可能在某个配置文件中的某个地方,只需要找到它......
答案 0 :(得分:1)
如果不查看确切的代码,很难知道,但可能会发生以下几种情况之一:
要知道发生了什么,请确保将CORS代理设置为" local"并检查网络选项卡。 XHR对www.bing.com的调用看起来像这样:
http://localhost:4400/ripple/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=http%3A//www.bing.com
尝试从index.html页面执行此操作,看看它是否成功通过代理。
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://www.bing.com", true);
xmlhttp.send();
如果您需要进一步调试或者想在Visual Studio之外使用Ripple,您实际上可以安装Ripple npm包并在Visual Studio之外使用它。在debug config中为Android构建,然后转到bld / Debug文件夹并从命令提示符执行以下命令:
npm install -g ripple-emulator
ripple emulate android --port 12345
将出现一个浏览器窗口。如果它不是您的默认值,请将其粘贴到Chrome中,然后重试。然后,您可以在命令提示符中查看代理的内容。
您还可以使用相同的方法使用Chrome开发工具调试您的应用,并禁用--web-security-。