-2

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

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

我想要做的是将此字符串存储在一个变量中,如下所示:
var jsonData = '[get JSON string from URL]';

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

4

2 回答 2

0

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

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

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

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

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

实现这一点的一种方法是使用 PHP 脚本下载数据并将其定向给您。

示例实现的基本部分:

  • 您的html文件请求数据: processData.html(从 127.0.0.1/getData.php 请求数据location = URL

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

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

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

祝你好运!

于 2013-04-03T18:12:57.720 回答
0

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

于 2013-04-03T17:35:29.267 回答