解析json并将其存储在数组中?

时间:2011-01-05 06:49:05

标签: javascript jquery html json parsing

我对这个网络相关问题很新,请帮忙

我正在研究sencha,证明它对于json解析非常困难。 。 。

所以我打算将数据检索到html页面,然后将其加载到我的js文件中。 。 。

所以这就是问题:

我已经问过这件事并得到了回复..

http://jsbin.com/uwuca5

但现在我在我的系统中本地使用html源代码,甚至使用IIS我无法解析数据。 。 。 。 。 。

这是我的json文件的链接:

http://compliantbox.com/optionsedge/sample.php

我正在尝试在我的代码中使用此链接并检索数据,但数据返回null

请帮助

谢谢,

3 个答案:

答案 0 :(得分:3)

您可能正在遇到Same Origin Policy。您是否尝试从不同的“来源”检索数据?例如,当在IIS上本地运行时(除非你使用服务器,ajax主要不起作用),你是否试图联系http://compliantbox.com/optionsedge/sample.php来获取数据?如果是这样,在大多数情况下这将不起作用(请参阅链接了解原因)。例如,如果我修改了我之前使用http://compliantbox.com/optionsedge/sample.php代替http://jsbin.com/uwura4的答案而给出的JSBin代码,则代码失败(example)。

可以进行跨域呼叫,但是你必须主要负责呼叫的双方工作。有CORS(需要来自服务器的特殊标题,以及IE6和IE7中缺少的浏览器支持;它在IE8中,但您必须使用XDomainRequest而不是XMLHttpRequest),并且有JSON-P(要求源明确支持JSON-P)。

答案 1 :(得分:0)

我不熟悉Sencha,但似乎你正在尝试进行跨域AJAX调用(从另一个域调用url http://compliantbox.com/optionsedge/sample.php,例如从本地网站内调用)这基本上是不允许的(至少通过使用XmlHTTPRequest对象)。

我建议你看一下这些帖子:

  1. Forum post on jQuery web-site
  2. The jQuery cross-domain AJAX guide
  3. - 帕维尔

答案 2 :(得分:0)

如果您需要从其他域读取JSON,可以先尝试从服务器读取文档并提供服务。

Jquery的:    $.getJson("Url-in-your-domain");

网址在你的域:    阅读远程文档并提供服务。

如果找不到任何解决方案,请尝试。