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