我正在处理一个页面,该页面必须显示从外部页面收到的数据(此页面位于我的域外部,不受我的控制)。此外部页面使用以下结构回复一些JSON数据:
{
"definition" : {
"accountID" : 19943,
"profileID" : "Z3WIPu86X77",
"ID" : "oOEWQj3sUo6",
"name" : "Site Pages",
"description" : "A10_RPT_Pages_SD",
"language" : null,
"timezone" : "UTC 1",
"dimensions" : [
{
"ID" : "pages",
"name" : "Page"
}
],
"measures" : [
{
"name" : "PageViews",
"ID" : "CAoNYspmFb5",
"columnID" : 1,
"measureFormatType" : null
}
]
},
"data" : [
{
"period" : "Month",
"start_date" : "2014-03",
"end_date" : "2014-04",
"attributes" : {
},
"measures" : {
"PageViews" : 281
},
"SubRows" : {
}
}
]
}
我想要做的是取回特定数据“data.measures.PageViews”将其插入我的HTML代码中。
我在html头中定义了以下javascript:
<script type="text/javascript">
function parseResult(myData)
{
alert(myData.data);
}
</script>
我使用身体内部以下列方式对外部链接进行地址回调:
<script type="text/javascript" src="https://external-link&callback=parseResult"></script>
如果我这样做,警报会显示“对象:对象”。
但是,如果我尝试alert(myData.data.measures);
,它会向我显示一个空白警告,如果我尝试alert(myData.data.measures.PageViews);
,它就不会显示警报并在firebug控制台上显示错误。
我已经阅读了一些jsonp指南,但我不了解很多东西。然而,之后我想将Pageviews放在一个变量中,在我喜欢的html中调用它。
答案 0 :(得分:1)
myData.data
是一个数组。使用方法:
myData.data[0].measures
答案 1 :(得分:0)
查看您的JSON,myData.data
是一个数组,因此您无法像myData.data.measures
那样访问它。
尝试myData.data[1]
答案 2 :(得分:0)
使用jQuery,您可以使用$.getJSON
进行跨站点JSON抓取:
$.getJSON("https://external-link&callback=parseResult",
function(myData) {
alert(myData.data);
});