Visual Studio,Ripple仿真器和CORS /跨域Ajax

Lou*_*der 6 visual-studio ripple cordova hybrid-mobile-app

在处理多设备混合应用程序时,我遇到了Visual Studio的问题.当我尝试对外部Web服务进行ajax调用时,会出现一些错误.(跨域安全问题).部署到移动设备时,我的代码工作正常.

从研究中我发现了以下内容:

  • Ripple有自己的代理设置

    • 在Ripple中,转到设置,然后在代理设置上选择本地,禁用或远程(取决于您的具体情况).
    • 这似乎适用于某些人,但我现在有一个不同的错误.(错误的请求)
  • 我发现了更多信息,Chrome可以在没有Web安全模式下启动,在运行时通过命令行开关.

    • 这个问题是,Visual Studio似乎已经硬编码了Chrome的路径,它用来打开涟漪.
    • 因此,我无法在没有网络安全模式的情况下启动Chrome ...

小智 5

我有与路易斯完全相同的问题,但自从Chrome 48以来,所有CORS扩展似乎都停止了工作.我想出了一个我认为我会分享的替代解决方案.

  1. 在您的Chrome安装目录中 - 可能是C:\ Program Files(x86)\ Google\Chrome\Application - 创建chrome.exe的快捷方式
  2. 右键单击此快捷方式并选择"属性"
  3. 在"快捷方式"选项卡上的"目标"字段中,附加以下两个字段--allow-file-access-from-files --disable-web-security 4.保存此项并将快捷方式重命名为"Google Chrome - 使用Ripple进行调试"
  4. 右键单击它并选择Pin to Start Menu

此快捷方式允许您运行没有Web安全性的Chrome,这允许在Ripple中使用CORS.通过使用快捷方式,这不会影响您正常使用Chrome.现在为了使用Ripple

  1. 在Visual Studio中调试您的应用程序,该应用程序将在其自己的Chrome实例中启动Ripple
  2. 现在打开开始菜单,然后单击固定的"Google Chrome - 使用Ripple调试"快捷方式
  3. Chrome的第二个实例将启动,并显示"您正在使用不受支持的命令行标记: - disable-web-security.稳定性和安全性将受到影响."
  4. 将Ripple代理URL从Visual Studio实例复制到此新实例,例如http:// localhost:4400/index.html?enableripple = cordova-3.0.0-NexusS
  5. 您的CORS请求现在可以在Ripple中使用.

请注意,Visual Studio刚刚用于启动Ripple.需要使用Chrome的开发人员工具进行调试.

另请注意,您可以通过浏览到网址chrome:// version /来仔细检查Chrome是否正在使用您的快捷方式标记

希望这可以帮助!