我尝试从JSon服务中检索数据,但是我遇到了一些问题而且我无法通过调试过程。
我从此动态服务中检索数据:http://www.synergiescanada.org/json/otherpublicationbyid?synid=synergies:bcn.arbutus.215.3263我使用此工具http://jsonformatter.curiousconcept.com/验证结果,看起来很好。
[
{
"name":"Dr. Andre Smith",
"publications":[
{
"id":"synergies:bcn.arbutus.215.3264",
"title":"Exploring death and dying through discourse",
"uri":"http:\/\/journals.uvic.ca\/index.php\/arbutus\/article\/view\/3264",
"date":"2010-10-18"
}
]
}
]
但另一方面,当我从jquery使用.getJSON方法时,它失败了。
<script type="text/javascript">
$(document).ready(function() {
$.getJSON("http://www.synergiescanada.org/json/otherpublicationbyid?synid=synergies:bcn.arbutus.215.3263" ,
function(json) {
alert(json);
});
</script>
弹出警报永远不会被触发,据我所知,getJSON在重新获取JSON数据时遇到一些错误之后会无声地失败。
我尝试使用firebug进行调试我刚刚在控制台中找到了关于标题
的内容(抱歉,我可以添加图像,我是新手)
Response Headersview source
Date Thu, 14 Apr 2011 20:24:49 GMT
X-Powered-By PHP/5.3.5
Cache-Control store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Disposition inline; filename=author.json
Last-Modified Thu, 14 Apr 2011 20:24:49 GMT
Content-Type application/json
Set-Cookie SESS65d098c5115a6dff636c637d3c170001=c82ctlcfe0926dr45jrge1crf5; expires=Sat, 07-May-2011 23:58:09 GMT; path=/; domain=www.synergiescanada.org
Expires Sun, 19 Nov 1978 05:00:00 GMT
Connection keep-alive, timeout=50, maxreq=60
Transfer-Encoding chunked
Request Headersview source
Host www.synergiescanada.org
User-Agent Mozilla/5.0 (X11; U; Linux x86_64; en-CA; rv:1.9.2.16) Gecko/20110323 Ubuntu/10.10 (maverick) Firefox/3.6.16
Accept application/json, text/javascript, */*; q=0.01
Accept-Language fr-ca,fr;q=0.8,en-ca;q=0.6,en-us;q=0.4,en;q=0.2
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://localhost/test/ajax.html
Origin http://localhost
相同的演示页面触发了来自flickr的JSON api并且它根本没有抱怨所以它看起来像我在这里想念的东西。也许这很明显。
如果有人能给我一些线索我会很感激。
答案 0 :(得分:1)
看起来像是跨站点脚本问题 - 您尝试从外部站点的localhost获取数据。解决方法可能是使用PHP作为“代理”。请参阅:http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html