首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual Studio,Ripple仿真器和CORS/跨域Ajax

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

Stack Overflow用户
提问于 2015-06-11 11:59:53
回答 3查看 4.6K关注 0票数 6

在开发一个多设备混合应用程序时,我遇到了Visual的问题。当我尝试对一个外部webservice进行ajax调用时,会发现一些错误。(跨域安全问题)。我的代码在部署到移动设备时运行良好。

从研究中我发现了以下几点:

  • 纹章有它自己的代理设置。
代码语言:javascript
复制
- In Ripple, go to settings, and choose local, disabled, or remote (depending on your situation) on the proxy setting.
- This seemed to work for some people, but I now have a different error. (Bad Request)

  • 我发现更多的信息,Chrome可以在没有网络安全模式启动,通过命令行开关,当你运行它。
代码语言:javascript
复制
- The issue with this, is that Visual Studio seems to have hard coded the path to Chrome, that it uses to open ripple.
- I therefore cant start chrome in no web security mode...

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-04 14:10:20

我和Louis有同样的问题,但自从Chrome 48之后,所有的CORS扩展似乎都停止了工作。我想出了一个可供选择的解决方案,我想和大家分享一下。

  1. 在您的Chrome安装目录中--可能是C:\Program (x86)\Google\Chrome\Application --创建chrome.exe的快捷方式
  2. 右键单击此快捷方式并选择“属性”
  3. 在“快捷方式”选项卡上,在“目标”字段中附加以下两个字段--允许文件访问文件--禁用-web安全4。保存此文件并将快捷方式重命名为“Ripple”
  4. 右键单击它并选择Pin to Start菜单

此快捷方式将允许您运行Chrome没有网络安全,这允许在波普尔的CORS。通过使用快捷方式,这将不会影响您正常使用Chrome。现在为了使用Ripple

  1. 在Visual中,调试应用程序,它将在自己的Chrome实例中启动Ripple
  2. 现在打开开始菜单,点击固定的“”快捷方式。
  3. Chrome的第二个实例将启动,并发出警告:“您正在使用不受支持的命令行标志:-禁用-web-安全。稳定性和安全性将受到损害。”
  4. 将Ripple代理URL从Visual实例复制到这个新实例,例如http://localhost:4400/index.html?enableripple=cordova-3.0.0-NexusS
  5. 您的CORS请求现在将在Ripple中工作。

注意,刚刚被用来启动Ripple。调试需要使用Chrome的开发工具进行。

还请注意,您可以通过浏览url ://version/,再次检查Chrome是否使用快捷标志。

希望这能有所帮助!

票数 5
EN

Stack Overflow用户

发布于 2015-06-11 11:59:53

我通过下载和安装一个chrome扩展程序来解决这个问题,它设置了web安全设置“on”和“off”。

扩展链接:source=chrome-app-launcher-info-dialog

  • Visual似乎运行了一个单独的/第二个版本的Chrome。
  • 您必须在运行Ripple时VS打开的Chrome实例中安装扩展。如果您在普通Chrome浏览器中安装了该扩展,则VS使用的实例中无法使用该扩展。
  • 然后,我必须设置我的波纹代理设置为禁用。
  • 如果我只是在波纹中调试,并且CORS设置已经打开,那么调用也会失败。我必须在物理上打开开关,关闭,然后再打开,每次我在波纹中调试,否则我就会遇到跨域问题。

现在一切都好了,生活还能继续。

票数 3
EN

Stack Overflow用户

发布于 2016-06-02 12:04:11

作为禁用Ripple仿真器中跨域代理的附加说明.

如果您正在调用API,如,请不要忘记通过将“访问控制-允许-原产地”标志设置为"any“,从而允许外部调用API。

在我的场景中,我正在开发一个使用Azure作为后端的Ionic v1应用程序。

In web.config >>

代码语言:javascript
复制
<configuration>
 <system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
     </customHeaders>
   </httpProtocol>
 </system.webServer>

</configuration>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30780183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档