【问题标题】:How to set the url in off-line site using jquery ajax如何使用 jquery ajax 在离线站点中设置 url
【发布时间】:2014-10-26 18:45:02
【问题描述】:

我的任务是运行一个静态站点,根本没有服务器。纯 HTML,我需要加载和读取 XML 文件并使用结果更新页面。

任务已完成,如果文件位于同一位置,则可以读取 xml 文件,问题是如果 xml 文件位于单独的文件夹中,则 ajax 连枷。好像网址失败了。

$.ajax({
  type: "GET",

  // working url setting - case - 1
  // url: "somexmlfile.xml",

  // not working - case - 2
  url: "../somepath/somexmlfile.xml",

  dataType: "xml",
  success: function(xml){
    // do something with the returned data
  },
  error: function() {
    // display the error
  }
});

案例 - 1 对我来说是可行的解决方案,但我需要将 xml 文件放在一个单独的位置。

那么 case - 2 是获取失败文件的方法。

任何想法,

其实没有域,没有服务器,就是纯HTML,

所有文件都在 ex:

D:/myfiles/someFolder/index.html

如果我把文件放进去

D:/myfiles/someFolder/xml/myxml.xml 并将网址设置为

网址:“xml/myxml.xml”

这个配置也可以,

但我正在尝试将 xml 文件放入

D:/myfiles/xml/myxml.xml 并且需要使用 ajax 将 url 设置为读取文件

网址:“../xml/myxml.xml”

【问题讨论】:

  • 我希望你知道“../somepath/somexmlfile.xml”的意思,它会带你到你当前文件所在的上一个文件夹,然后它会带你进入“somepath”文件夹然后它将查找文件“somexmlfile.xml”
  • 是的,但它无法定位到文件,恐怕没有服务器可以做到这一点?
  • 请任何人提出任何建议

标签: javascript jquery ajax xml static-site


【解决方案1】:

尝试使用绝对网址:

www.yourdomain.ext/siteDolder/xmlFolder/xmlfile.xml

【讨论】:

  • 其实没有域,没有服务器,是纯HTML,
  • 我希望您需要提供文件的域物理路径。您在哪里托管/部署文件或使用本地计算机?
  • 实际上会说 index.html 文件在 D:/myfiles/someFolder/index.html
  • 我认为这是一个 CORS 问题(请参阅 en.wikipedia.org/wiki/Cross-origin_resource_sharing )。这是因为您的 xml 文件在您的 index.html 文件夹“外部”
【解决方案2】:

最后的解决方案是在 Firefox 设置上关闭浏览器安全性(strict_origin_policy 在 about:config 上设置为 false)并且它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2012-10-23
    • 2010-09-27
    • 2021-06-10
    相关资源
    最近更新 更多