2017-07-28 31 views
0

我有一个带有JavaScript的html文件。我也有一个URL,打开时只是一个包含来自使用AWS API Gateway制作lambda API的AWS lambda API调用数据的页面。该页面看起来像一个完全空白的页面时,它奠定了类似的数据加载,将API响应数据保存为HTML元素

[ 
{"user": "bob", "groups": ["bobsGroup"], "policies": ["bobsPolicy", "anotherPolicy"["Policy3"]]}, 
{"user": "sal", "groups": ["salsGroup"], "policies": ["salssPolicy", "anotherPolicy"["Policy3"]]} 
] 

我的问题是,我想从API响应取数据,并将其保存为HTML段落元素。目前我使用的是正确的逻辑或以不正确的方式做,我不认为通过努力,我的脚本标记内,运行以下,

var myjson; 
$.getJSON("https://myapi.execute-api.us-east-2.amazonaws.com/myapi//myapiresource", function(json){myjson = json;}); 
document.getElementById("demo").innerHTML = myjson 

其中demo只是我的HTML中一个段落标记

完整的代码片段是,

<!doctype html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 


    </head> 
    <body> 


    <div id = "demo"></div> 




    <script> 

     var myjson; 
$.getJSON("https://myapi.execute-api.us-east-2.amazonaws.com/myapi//myapiresource", function(json){ 
    document.getElementById("demo").innerHTML = json; 
}); 


    </script> 


    </body> 
</html> 

回答

0

移动document.getElementById("demo").innerHTML阿贾克斯成功回调里面......

var myjson; 
$.getJSON("https://myapi.execute-api.us-east-2.amazonaws.com/myapi//myapiresource", function(json){ 
    myjson = json; 
    document.getElementById("demo").innerHTML = myjson; 
}); 

代码清理版本

$.getJSON("https://myapi.execute-api.us-east-2.amazonaws.com/myapi//myapiresource", function(json){ 
    document.getElementById("demo").innerHTML = json; 
}); 
+0

谢谢您的帮助!我对使用JavaScript很陌生,甚至不知道AJAX的用途。我正在研究如何更好地理解它。 – jelidens

+0

不客气!接受这个答案,如果这有帮助的话可以加注。 –

+0

为了澄清,你是否说如果我只是将上面的代码放在“代码清理版本”中,并将其粘贴到我的HTML的脚本标记中,则应该使用$ .getJSON中的数据打开时填充我的HTML页面? – jelidens