尝试2回答我的问题(请耐心等待--我是新来的)。
我正在尝试从URL读取数据
http://test.fhir.org/r3/Patient?family=smith&given=peggy&_format=json
并希望使用Javascript将其重新格式化为表格
(1)我读不懂,
(2)我无法将其格式化为json2table.com中的表格
有人能帮上忙吗?这是我正在尝试的代码。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Playing with JSON</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<style type="text/css">
.row{ margin-top: 20px}
</style>
<script type="text/javascript">
$(window).load(function(){
console.log('loading event handlers');
var $response = document.getElementById("response");
var $getReposBtn = document.getElementById("get-repos");
$getReposBtn.onclick = function(){
var xhr = new XMLHttpRequest();
xhr.timeout = 2000;
xhr.onreadystatechange = function(e){
console.log(this);
if (xhr.readyState === 4){
if (xhr.status === 200){
// debugger;
// console.log(xhr.response);
$response.innerHTML = xhr.response;
} else {
console.error("XHR didn't work: ", xhr.status);
}
}
}
xhr.ontimeout = function (){
console.error("request timedout: ", xhr);
}
xhr.open("get", "http://test.fhir.org/r3/Patient?family=smith&given=peggy&_format=json", /*async*/ true);
xhr.send();
}
});
</script>
</head>
<body>
<div class="container">
<div class="row">In Development</div>
<div class="row">
<button id="get-repos">JSON download trial!!</button>
</div>
<div class="row">
<pre id="response"></pre>
</div>
</div>
<script>
if (window.parent && window.parent.parent){
window.parent.parent.postMessage(["resultsFrame", {
height: document.body.getBoundingClientRect().height,
slug: "9f7sb409"
}], "*")
}
</script>
</body>
</html>
发布于 2018-08-16 05:24:56
在本例中,您假设通过加载bootstrap.js来呈现jQuery。情况并非如此,您需要在启动之前加载jQuery,或者将脚本移到页面底部(就在正文关闭之前),然后删除此$(window).load(function(){})
。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Playing with JSON</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<style type="text/css">
.row {
margin-top: 20px
}
</style>
</head>
<body>
<div class="container">
<div class="row">In Development</div>
<div class="row">
<button id="get-repos">JSON download trial!!</button>
</div>
<div class="row">
<pre id="response"></pre>
</div>
</div>
<script>
if (window.parent && window.parent.parent) {
window.parent.parent.postMessage(["resultsFrame", {
height: document.body.getBoundingClientRect().height,
slug: "9f7sb409"
}], "*")
}
</script>
<script>
console.log('loading event handlers');
var $response = document.getElementById("response");
var $getReposBtn = document.getElementById("get-repos");
$getReposBtn.onclick = function () {
var xhr = new XMLHttpRequest();
xhr.timeout = 2000;
xhr.onreadystatechange = function (e) {
console.log(this);
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// debugger;
// console.log(xhr.response);
$response.innerHTML = xhr.response;
} else {
console.error("XHR didn't work: ", xhr.status);
}
}
}
xhr.ontimeout = function () {
console.error("request timedout: ", xhr);
}
xhr.open("get", "http://test.fhir.org/r3/Patient?family=smith&given=peggy&_format=json", /*async*/ true);
xhr.send();
}
</script>
</body>
</html>
如果您决定使用jQuery,您的代码可以大大简化:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Playing with JSON</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<style type="text/css">
.row {
margin-top: 20px
}
</style>
</head>
<body>
<div class="container">
<div class="row">In Development</div>
<div class="row">
<button id="get-repos">JSON download trial!!</button>
</div>
<div class="row">
<pre id="response"></pre>
</div>
</div>
<script>
if (window.parent && window.parent.parent) {
window.parent.parent.postMessage(["resultsFrame", {
height: document.body.getBoundingClientRect().height,
slug: "9f7sb409"
}], "*")
}
</script>
<script>
$(function () {
console.log('loading event handlers');
$("#get-repos").click(function onClick() {
var url = "http://test.fhir.orgs/r3/Patient?family=smith&given=peggy&_format=json";
$.getJSON(url, function onSuccess(response) {
$("#response").text(JSON.stringify(response));
});
});
});
</script>
</body>
</html>
https://stackoverflow.com/questions/51866478
复制相似问题