【问题标题】:parsing the xml now gives me an error现在解析 xml 给了我一个错误
【发布时间】:2012-03-06 02:21:44
【问题描述】:

这是我的 ajax 调用

$j.ajax({
  url: "http://www.earthtools.org/timezone/40.71417/-74.00639",
  dataType: "jsonp",
  complete: function(data){
    console.log(data);
  }
});

url 返回 xml,但我需要使用 jsonp 来避免跨站点脚本......关于如何避免此错误的任何想法

missing ; before statement
[Break On This Error]   

<timezone xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceS...

-74.00...7653717 (line 2, col 10)

任何想法...我需要本地时间结束此通话

【问题讨论】:

    标签: javascript jquery ajax json jsonp


    【解决方案1】:

    由于跨域策略,您无法在 javascript 中获取 xml 跨域...SO 上有 100 个类似的线程

    如果 API 不提供 jsonp,您可以使用代理。另一个方便的工具是 Yahoo YQL。他们有一个沙盒控制台,可以在几分钟内设置您的 url,并获取一个 YQL url 以从 xml 或 jsonp 中获取数据

    【讨论】:

    • 在这种情况下我如何使用代理以及 Yahoo YQL 将如何提供帮助
    • YQL 是免费且快速的。代理是您服务器上的文件,使用 CURL 从其他 url 获取 xml 并将其输出....对该文件进行 ajax 调用。涉及的编码不多。如果需要,也可以使用 YQL 过滤其他数据文件。你调用你在他们的沙箱中设置的 YQL usrl
    • 如果使用 php,您可以在一行中设置代理以用于开发目的...echo file_get_contents( 'urltodata'); 但 CURL 更适合错误处理
    • 我正在使用 rails...所以我会做一个 curl 请求并解析出本地时间并调用我的服务器
    • 一次做一次就不会痛了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    相关资源
    最近更新 更多