2010-03-15 92 views
2

我有一个JSON饲料(我不直接控制,我要问的服务器管理员进行更新),也就是返回NULL,或者当我试图进入,否则无法正常工作它来自另一台服务器。实际的Feed工作正常,但我无法像普通的API那样工作。使JSON资讯提供服务器到服务器

我为什么可以使用Flickr的,白页,微博等的JSON API,而是:
http://portlandoregon.gov/shared/cfm/json.cfm

使用JS时,它在浏览器返回NULL。如果我在同一台服务器上调用它,那很好。

如果这是一个服务器问题,我要求管理员更改什么,如果这是一个本地(浏览器)的问题,我为这个饲料做了什么错误,适用于其他每个JSON API?

回答

2

他们设置的内容类型text/html而不是application/json。因此,如果你使用jQuery $.ajax$.get代替$.getJSON,那么你需要指示它处理它为application/json,这样它会自动解析它作为JSON。

在另一方面,如果被退回真的没有数据,那么他们也许检查谁/什么请求和阻止。唯一的手段就是联系他们。这可能是一个错误,或者它可能会意识到内置以防止水蛭。

+0

谢谢,但我已经完全被使用$ .getJSON对JSON饲料,包括portlandoregon.gov上述之一,但在jQuery的回调返回NULL。 所以,你是说我应该告诉管理团队将什么应用程序/ json改为text/html,然后如果我使用$ .getJSON,它将从服务器读取为JSON服务器?可能是一个愚蠢的问题,但我如何检查文档类型设置为(app/json或text/html)? – 2010-03-15 17:20:23

+0

如果'$ .getJSON'返回null,那么这个“问题”确实在服务器端。这可能是编程方式的变通方法,但我不会那样做。可能有法律上的理由,他们阻止了这一点,你不想升级。我使用Firefox/Firebug来检查HTTP请求/响应标头。 – BalusC 2010-03-15 17:21:41

+0

非常感谢,终于有人得到了它。我以不同的方式在StackOverflow上提出这个问题,没有人知道为什么! 我的导师告诉我只是告诉他,他需要告诉服务器管理员,使其工作,因为这将被用于一个内部的API,它需要走出去到其他领域,并通过前端来的工作是什么开发人员。那么,我需要告诉他们准确地使用getJSON来处理前端工作人员的问题? 谢谢! – 2010-03-15 17:27:23