从JSON URL读取内容并写出这些内容

时间:2012-12-11 07:08:51

标签: javascript jquery html ajax json

我有一个网址[https://www.inquicker.com/facility/americas-family-doctors.json],这是一个JSON数据网址。如何访问此URL的内容,并写出值。 格式包含作为数组的日程表,其中包含schedule_id,name和available_times。我已经尝试了各种获取JSON文件的方法,但都没有。

更新: 好吧,我已经用这个代码得到了它,并且它正在布局看起来像数组中的对象。所以我相信我已经控制了跨站点问题。我现在只需要弄清楚如何访问数据。

<!DOCTYPE html>
<html>
<head>
<title>JQuery (cross-domain) JSONP</title>
<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">  </script>
<script>
$(document).ready(function(){
    $.getJSON('https://www.inquicker.com/facility/americas-family-doctors.json', 
        function(data){ 
        alert(data.facility);
        $.each(data.schedules, function(i, name){
            $('#names').append('<li>' + name.available_times[0] +     '</li>');
        });
    });
});
</script>
</head>
<body>
<ul id="names"></ul>
</body>
</html>

任何帮助或建议都将不胜感激,谢谢。

3 个答案:

答案 0 :(得分:2)

通常不能跨域传递Ajax请求。通常,服务器将拒绝任何不来自同一源的Ajax调用,除非另有明确配置。鉴于您使用的是完全限定的URL,我猜您不会从同一个域调用。如果您拥有该服务器,则必须将其配置为接受来自其他域的此类呼叫。

如果不是这种情况,请在运行Firebug的Firefox中启动脚本,然后查看控制台输出并告诉我你得到的错误。


一旦设法将JSON从服务器传递回页面,您将在JavaScript中将其作为字符串进行检索。然后,您需要执行此功能:

var jsonObject = JSON.parse(jsonString);

其中jsonString是您从服务器收到的字符串。 jsonObject成为传递给您可以使用点表示法访问的答案的JSON的对象表示。

答案 1 :(得分:-1)

尝试类似:

alert(json.facility);

您提到的网址中没有title个json对象。

答案 2 :(得分:-1)

当涉及到你的功能时,JSON已被解析。

$ .get('https://www.inquicker.com/facility/americas-family-doctors.json',function(result){ 警报(result.facility); //做你想做的一切

// result.schedules数组也准备好了 });