如何从URL获取JSON字符串?

时间:2013-04-03 17:33:12

标签: javascript jquery ajax json url

我正在尝试从返回JSON字符串中的数据的URL中获取数据。

网址:http://forums.zybez.net/pages/2007-price-guide-api?term=adamant+axe

我想要做的是将此字符串存储在如下变量中:
var jsonData ='[从URL获取JSON字符串]';

但我不确定如何从URL获取JSON字符串。 任何帮助,将不胜感激!! : - )

2 个答案:

答案 0 :(得分:0)

jQuery.getJSON()函数使您可以轻松访问从服务器返回的JSON数据。 http://api.jquery.com/jQuery.getJSON/

答案 1 :(得分:0)

这是您尝试执行的X-Domain-Request。 默认情况下,这是不允许的 - 出于安全原因,这是禁止的。

您可以实现JSONP回调。 然后,您可以将回调的名称(必须在每个请求中生成)发送到您希望从中接收数据的服务器,作为回报,此服务器将为您提供一个可以调用以检索您的功能的函数。数据来自。

另一个选项是CORs服务器 http://enable-cors.org/server.html您要求数据的HTTP服务器必须有一个软件模块处理您正确请求,发送正确的MIME类型等等。

不过,还有另外一种方法: 使用“包装器”

您可以设置一个在其间工作的Web服务器。 它会下载您的请求并转发给您。 就像你直接从这个服务器请求数据一样(显然你这样做,但它不是提供数据的实际服务器)。

实现此目的的一种方法是使用PHP脚本下载数据并将其指向您。

示例实现的基本部分:

  • 您的 html 文件请求数据: processData.html (从127.0.0.1/ getData.php 位置 = 网址请求数据)

  • 您的 php 文件用作包装并从 URL 下载数据(其中,location是您发送到包装文件的参数): 访问getdata.php

  • 您的实际服务器位于(网址),作为参数位置提供给php文件 (确保在将URL参数发送到您的php文件之前将其转义)

有更多方法可以实现您想要实现的目标。

祝你好运!