WinJS.xhr:网络错误0x2efd,由于错误00002efd无法完成操作

时间:2012-11-01 11:42:53

标签: xmlhttprequest winjs

在使用JavaScript开发Windows 8 Metro应用程序时,我遇到WinJS.xhr问题。

WinJS.xhr({ url: "http://www.seznam.cz"});

当执行上面的代码时,我在日志中看到:

SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete
the operation due to error 00002efd.

我在清单中启用了“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 ==“本地访问”(因为我可能在代理之后)。

3 个答案:

答案 0 :(得分:16)

连接到我的工作场所SSL / VPN连接(来自Juniper)时,我遇到了同样的错误。

打开.appxmanifest文件并添加“专用网络(家庭和服务器)”功能解决了这个问题。

<Capabilities>
  <Capability Name="internetClient" />
  <Capability Name="privateNetworkClientServer" />
</Capabilities>

答案 1 :(得分:1)

此解决方案适用于我(请参阅下面的论坛链接)...实质上,您需要将服务器的证书添加到Windows应用商店应用清单中(同时确保您的最强大的“功能”设置为至少“InternetClient”) 。您可以通过从浏览器导出服务器来获取服务器的证书,另存为“.der”文件。在执行此操作时使用Firefox比IE更容易(从FF,浏览到具有证书的目标域,然后右键单击页面&gt;页面信息&gt;安全选项卡&gt;详细信息选项卡&gt;导出按钮&gt;另存为“ .der“。

http://social.msdn.microsoft.com/Forums/en-ZA/winappswithcsharp/thread/4a776e8c-0e10-4f03-908f-7f765d914080?prof=required

这个解决方案似乎很荒谬 - 所以请记住,这可能只对使用自签名证书的站点有用,例如在开发环境中,因为这个过程对于其他生产站点不是必需的。

答案 2 :(得分:0)

执行此操作的正确方法发布在MSDN论坛上,它对我不起作用,但以下内容

<强> config.xml中     

...

<platform name="windows"> 
     <config-file target="package.appxmanifest"> 
         <DeviceCapability Name="privateNetworkClientServer" /> 
     </config-file>
     ...
 </platform> 

这些将与您的其他功能合并