我有一个网址[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>
任何帮助或建议都将不胜感激,谢谢。
答案 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数组也准备好了 });