【问题标题】:jQuery XML Parsing Not Working Locally in Safari 4.0.4jQuery XML 解析在 Safari 4.0.4 中无法本地工作
【发布时间】:2009-11-19 22:30:35
【问题描述】:

我是这个网站的新手,但似乎有人可以回答我的问题。

我最近开始使用 jQuery,花了一天的时间把头撞在桌子上,试图成功地解析 XML 文件并将文本附加到 div。在 Safari 中失败后,我切换到 Firefox,发现它运行良好!此外,当我将文件加载到我的服务器并在 Safari 中加载相同的页面时,它也可以正常工作!似乎 Safari 在解析本地 XML 文件时遇到了问题。有没有人经历过这种情况,并有任何解释或解决方案?这是我的代码:

$(document).ready(function(){
  $.get('datafile.xml',{},function(data){
    $(data).find('item').each(function(){
      var dataHolder = ($(this).find('title').text());
      $('#textBox').append(dataHolder + "<br />");
    }); 
  }); 
});

同样,这在 Firefox 中本地和远程都可以完美运行,也可以在 Safari 中远程运行。在本地,Safari 不起作用。

如果有人也想查看 HTML 文件,请告诉我。这很简单。只是一个 id 为 textBox 的 div。 XML 文件也是如此。只是项目和标题的列表。

提前一百万感谢任何可以帮助我解决此问题的人!

【问题讨论】:

    标签: jquery xml firefox parsing safari


    【解决方案1】:

    当您发出 GET 请求时,您从服务器得到什么响应?如果您使用 $.ajax 并指定错误处理程序,是否会调用错误处理程序?看起来您可能会以某种方式受到 XSS 保护,但我看不出 local > local 会如何失败。

    如果这是问题所在,那么除了在本地运行 Apache/web 容器并使用 web 容器中的 javascript 提供 xml 文件和 html 文件之外,没有其他解决方法。

    【讨论】:

    • Stefan,有趣的是,切换到 $.ajax 似乎已经解决了问题。我最初假设它会引发错误,但无论出于何种原因,$.ajax 似乎在 $.get 没有的地方工作。知道为什么吗?无论如何,感谢您的帮助!
    • ...没问题,我猜。 :P 我不知道一个会胜过另一个。我只是假设错误消息会出现一些有用的信息。
    猜你喜欢
    • 2014-01-08
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 2011-12-24
    • 2019-10-09
    • 1970-01-01
    相关资源
    最近更新 更多