作者jeeyi345 (letmein)
看板Ajax
标题[问题]怎麽自动更新来自另一个网址的JSON
时间Tue Nov 29 22:35:43 2016
我想做两件事
1.取出网页内容JSON,拆到元件
2.传给另一个网页呈现,
所以想一起问
JS跟AJAX都很菜,只有google的程度,不好意思
我写了个JSP会由网址输入不同参数改变输出的JSON,
网址为
140.138.77.151:8080/personalAssementNEW
会输出以下网页
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
[{"UID":999999,"UrlDate":"2015-11-24","SleepQ":70,"SleepQ_Lab":"普通
","AttLevel":43.2864439246683,"AttLevel_Lab":"普通
","MemLevel":60,"MemLevel_Lab":"普通"}]
<h1></h1>
</body>
</html>
想取出其中这段JSON的元件,呈现至另一个网页上
[{"UID":999999,"UrlDate":"2015-11-24","SleepQ":70,"SleepQ_Lab":"普通
","AttLevel":43.2864439246683,"AttLevel_Lab":"普通
","MemLevel":60,"MemLevel_Lab":"普通"}]
我找了w3c范例套用看看但没有东西,如以下:
$(document).ready(function(){
$("button").click(function(){
$.get("140.138.77.151:8080/personalAssementNEW/", function(data,
status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
发现需要"Access-Control-Allow-Origin",修改後另一个试着写的JS可以读出网页结果
但是AJAX还是不能解元件:
<!DOCTYPE html>
<html>
<body>
<div id="id01"></div>
<script>
var xmlhttp = new XMLHttpRequest();
/*var url = "
http://www.w3schools.com/website/Customers_MYSQL.php";*/
var url;
url =
"
http://140.138.77.151:8080/personalAssementNEW/getAssement.jsp?ID=999999&DATEINFO=2015-11-24&TIMEINFO=15:00:00";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(response) {
document.getElementById("id01").innerHTML = response;
var obj = JSON.parse(response);
document.getElementById("id01").innerHTML = obj[0].AttLevel + " " +
obj[0].AttLevel_Lab;
}
</script>
</body>
</html>
他只会输出[{.....}],我後面的 obj[0].AttLevel 就不理我了。之前用静态网页是OK的
所以想请教怎麽取得JSON(应该要用AJAX?)自动随着网址的内容更新
呈现在另一个网页上
如果有很小白的部分请多包容,谢谢
问题同时於以下询问,但是可能太菜没人理我XDrz
https://stackoverflow.com/questions/40856472/how-can-i-auto-update-a-web-pages-json-content-by-ajax
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.138.148.133
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1480430148.A.D2E.html
1F:推 illl: Window.postMessage() 我没试过就是了 11/30 03:11
2F:推 illl: 或jsonp吧 11/30 03:13
3F:→ xdraculax: 好怪的东西,既然是json何必塞在html里面@@ 11/30 03:29
4F:→ xdraculax: 这年头ajax没必要自己刻,用jQuery之类比较快 11/30 03:32
5F:→ jeeyi345: 可以多指点一点吗?我对JS,AJAX了解只有查W3C的程度, 11/30 03:54
6F:→ jeeyi345: 不知道怎麽做我想要的更好 11/30 03:54
7F:→ jeeyi345: jquery昨天找范例改东西也出不来 11/30 03:56
8F:→ jeeyi345: 之前写java的,网页没有错误讯息不太知道怎麽修@@ 11/30 03:56
10F:推 shadowjohn: 1. 你的 cors 这样写不行,必需下在server端 11/30 09:26
11F:→ shadowjohn: 放meta没用的 11/30 09:26
12F:→ shadowjohn: 2. json 外面没必要多包html的东西,json尾也多了h1 11/30 09:27
13F:→ shadowjohn: 正常只要二行就完成了,一行ajax,二行解json 11/30 09:27
14F:→ shadowjohn: 或是ajax里直接指定json型态,一行就完成 :D 11/30 09:28
15F:→ jeeyi345: 感谢!只是您给的网址js html要怎麽一起用?html指定吗 11/30 14:12
16F:→ jeeyi345: ? 11/30 14:12
17F:→ jeeyi345: response.addHeader("Access-Control-Allow-Origin", "* 11/30 14:13
18F:→ jeeyi345: 1.如上 2.刚试着把html mark掉,网页就不能跑了 11/30 14:15
19F:→ jeeyi345: 了解,可以出乾净json了,怎像连结出收到的内容: 11/30 14:28
20F:→ jeeyi345: 解算等还不太明白 11/30 14:28
21F:→ jeeyi345: 好像可以了,可以定期更新吗?确保跟json变动同步 11/30 15:41
22F:推 shadowjohn: 定期?最简单就设setInterval让程式一直loop 11/30 17:08
24F:推 shadowjohn: 对,这样可以 11/30 20:04
25F:→ jeeyi345: 感谢,想再问一下 jquery有比js更简单取json元件的方式 11/30 20:47
26F:→ jeeyi345: 吗? 11/30 20:47
27F:推 shadowjohn: 看不大懂这个问题是什麽,你觉得jquery跟js哪个是大哥 12/01 14:51
28F:→ jeeyi345: 好像JQuery是JS的一种 JQuery比较好用 可是要引用的感觉 12/01 16:54
29F:→ jeeyi345: 手机没有推出来@@ 12/01 16:54