Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从JSON url读取内容并写出这些内容_Javascript_Jquery_Html_Ajax_Json - Fatal编程技术网

Javascript 从JSON url读取内容并写出这些内容

Javascript 从JSON url读取内容并写出这些内容,javascript,jquery,html,ajax,json,Javascript,Jquery,Html,Ajax,Json,我有一个网址[https://www.inquicker.com/facility/americas-family-doctors.json]这是一个JSON数据url。如何访问此url的内容并写出值。 该格式以数组形式包含计划,其中包含计划id、名称和可用时间。我尝试了各种获取JSON文件的方法,但都没有成功 更新: 我已经用这段代码完成了这一步,它展示了数组中看起来像对象的东西。所以我相信我已经控制了跨站点的问题。我现在只需要弄清楚如何访问数据 <!DOCTYPE html> &

我有一个网址[https://www.inquicker.com/facility/americas-family-doctors.json]这是一个JSON数据url。如何访问此url的内容并写出值。 该格式以数组形式包含计划,其中包含计划id、名称和可用时间。我尝试了各种获取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>
任何帮助或建议都将不胜感激,谢谢。

尝试以下方式:

alert(json.facility);

您提到的url中没有标题json对象。

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

如果不是这样,请在Firefox中启动运行Firebug的脚本,并查看控制台输出,如果有错误,请告诉我

一旦您成功地将JSON从服务器传递回页面,您将在JavaScript中以字符串的形式检索它。然后需要执行此函数:

var jsonObject = JSON.parse(jsonString);

其中jsonString是从服务器接收的字符串。jsonObject成为一个JSON的对象表示形式,该JSON传递回您可以使用点表示法访问的答案。

当涉及到您的函数时,JSON已经被解析

$获得'https://www.inquicker.com/facility/americas-family-doctors.json,函数结果{ alertresult.facility;//在此处执行任何操作

//result.schedules数组也已就绪
};

需要配置远程服务器以接受此设置。如果您不拥有远程服务器,可以使用服务器端代码作为代理,调用本地Ajax函数,然后从服务器调用远程函数。请参阅了解如何做到这一点。我认为您必须使用JSONP。勾选这个答案@OptimusPrime-你不必这样做,但这也取决于他的SS语言。基本上你只需要一个HTTP调用。在开源语言中,cUrl可以很好地完成这项任务。NET有一系列web请求等。您可以使用Ajax将JSON字符串直接从方法返回到客户端应用程序,因为它来自您自己的域,并使用JSON.parse对其进行解析。无论如何,您都有自己的数据:您需要作为对象访问解析结果。如果您的JSON对象包含一个属性名:joe,那么当您在对象上调用JSON.parseobj时,您可以通过resultingObject.name从结果对象访问该名称