【问题标题】:XML Response ParsingXML 响应解析
【发布时间】:2010-07-22 08:15:59
【问题描述】:

对不起,如果我的问题有点重复,但我没有找到我的问题的答案,所以我在这里发布。

所以,这是我用来生成安全令牌的 URL:

api.sandbox.inrix.com/Traffic/Inrix.ashx?Action=GetSecurityToken&vendorId=1043016094&consumerId=94ce0781-b32f-4da5-b80b-8ca00cfb2194

在浏览器中键入上述 URL 的响应是在浏览器上显示的 XML 树。我需要提取标签“AuthToken”中的数据。我用 JavaScript 编写了一个从 XML 文件的标签中提取数据的代码,我没有指定 XML 文件的路径,而是将上面的 URL 传递给它。但是,我收到一条警告消息:

访问受限 URI 被拒绝。

有什么建议吗?

谢谢。

【问题讨论】:

    标签: javascript ruby xml parsing


    【解决方案1】:

    所有浏览器的安全功能都可以防止您向其他域发出 XMLHttpRequest。这称为Same Origin Policy。有几种方法可以绕过同源策略,

    1.使用服务器端语言为服务提供代理。
    通常,您会直接向 Web 服务发出请求,而后者又会返回响应,如下所示:

    ╒═══════════════════╕ ──────────────> ╒═════════════ ══════╕ │ 客户端/Javascript │ │ 服务器/WebService │ ╘═══════════════════╛

    代理涉及编写服务器端脚本以充当中间人:

    ╒═══════════════════╕────> ╒══════════════════════════ ──> ╒═══════════════════╕ │ Client/Javascript │ │ 同域服务器 │ │ Server/WebService | ╘═══════════════════╛

    所以浏览器正在向同一个域发出请求,它没有被同源策略阻止。服务器依次向远程 Web 服务发出请求,后者返回响应。最后,同一域服务器将该响应返回给仍在等待的脚本。这是可行的,因为服务器发出的请求不受同源策略的约束。

    2。检查服务是否提供JSONP 数据格式。
    JSONP 通过向当前页面添加一个脚本元素来工作,其中 src 属性指向 Web 服务。 Web 服务以 JavaScript 函数调用的形式返回响应,其中包含作为参数传递给函数的 JavaScript 对象文字中的数据。您需要做的就是预定义该函数,以便在脚本/Web 服务请求完成时使用数据调用您的预定义函数,以便您可以处理它。

    【讨论】:

    • 感谢您的回复安迪,但是,您能否详细说明如何“使用服务器端语言为服务提供代理”?谢谢
    • @Jason:抱歉耽搁了,我有点忙。我已经用更多信息和图表更新了帖子:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2016-09-03
    • 2013-08-23
    • 2015-09-10
    相关资源
    最近更新 更多