2010-05-08 25 views
5

我无法让XMLHttpRequest对象在我写的仪表板小部件中正常工作。我已经将它隔离到一个简单的例子在main.js文件的全局范围不工作:在仪表板小部件失败中使用XMLHttpRequest

xhr = new XMLHttpRequest; 
    xhr.open('GET', "http://google.com", false); 
    xhr.send(''); 

当最后一行是执行我的错误“ABORT_ERR:XMLHttpRequest的异常102”(这是Dashcode调试器)。

有没有人有任何想法这里可能是错的?

回答

9

您需要在“窗口小部件,选择“允许网络访问”属性“窗格。

+0

我想这是指的Dashcode中,等等?而不是手动在源代码中手动修改/创建窗口部件,这将在此处对其他答案进行修改Plist文件。 – David 2012-05-27 04:37:10

6

OK,我发现它(3小时):您需要将以下键添加到Info.plist文件:

<key>AllowNetworkAccess</key> 
<true/> 
1

即使将AllowNetworkAccess添加到我的info.plist后,我也遇到了同样的问题。我试图将此键更改为AllowFullAccess,但没有任何更改。系统重启后,它工作得很好O_O

+0

我猜小部件需要重新加载,但除了系统重新启动以外还有其他重新加载的情况吗?在重新引导之前,它可能会被缓存。 – David 2012-05-27 04:39:49

1

要采取的步骤是:

  • 从菜单中选择“使用Dashcode>首选项...”,然后单击目的地选项卡上。
  • 在左列下方,单击加号以创建新目标。
  • 对于外部网站,请在类型下拉列表中选择FTP。填写服务器,路径,用户名和密码。关闭“首选项”窗格。
  • 回到Dashcode,点击左边栏中的Widget Attributes图标。
  • 在主列中勾选允许网络访问和允许外部文件访问。
  • 你应该能够没有102异常错误运行的小部件(如果你是在线)

    相关问题