Jir*_*zin 9 xmlhttprequest winjs
在JavaScript中开发Windows 8 Metro应用程序时,我遇到WinJS.xhr问题.
WinJS.xhr({ url: "http://www.seznam.cz"});
Run Code Online (Sandbox Code Playgroud)
执行上面的代码时,我在日志中看到:
SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete
the operation due to error 00002efd.
Run Code Online (Sandbox Code Playgroud)
我在清单中启用了"Internet(客户端)"功能.
也许问题是因为我支持代理和使用VPN,但我可以使用谷歌浏览器访问互联网(我只需要授权,否则需要HTTP状态407 - 代理授权).
我该如何解决?
[编辑] 所以我发现它可能与我必须使用的VPN(Cisco VPN客户端)有关.当我禁用VPN时,即使我在代理后面(我使用LAN,使用VPN我使用WiFi),请求也可以.也许它只与Cisco VPN相关.我不得不修改注册表,因为它在这里描述http://verbalprocessor.com/2012/09/17/windows-8-and-cisco-vpn-client/
同样有趣的是,当我在代理后面时,一些Metro应用程序工作(地图),有些不起作用(Windows商店).
只是一个通知:我已经探索了Windows.Networking.Connectivity,在两种情况下(有/没有VPN)我得到NetworkConnectivityLevel =="本地访问"(因为我可能在代理的后面).
小智 16
连接到我的工作场所SSL/VPN连接(来自Juniper)时,我收到了同样的错误.
打开.appxmanifest文件并添加"专用网络(家庭和服务器)"功能解决了这个问题.
<Capabilities>
<Capability Name="internetClient" />
<Capability Name="privateNetworkClientServer" />
</Capabilities>
Run Code Online (Sandbox Code Playgroud)
这个解决方案对我有用(请参阅下面的论坛链接)...本质上,您需要将服务器的证书添加到 Windows 应用商店应用程序清单(还要确保您的清单“功能”至少设置为“InternetClient”)。您可以通过从浏览器导出服务器的证书来获取服务器的证书,保存为“.der”文件。使用 Firefox 比 IE 更容易执行此操作(从 FF 浏览到具有证书的目标域,然后右键单击页面 > 页面信息 > 安全选项卡 > 详细信息选项卡 > 导出按钮 > 另存为“.der”。
这个解决方案似乎很荒谬 - 因此请记住,这可能仅对于使用自签名证书的站点(例如在开发环境中)来说是必要的,因为此过程对于其他生产站点来说不是必需的。
| 归档时间: |
|
| 查看次数: |
31726 次 |
| 最近记录: |