[問題]怎麽自動更新來自另一個網址的JSON

作者: jeeyi345 (letmein)   2016-11-29 22:35:43
我想做兩件事
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
作者: illl (ill!)   2016-11-30 03:11:00
Window.postMessage() 我沒試過就是了或jsonp吧
作者: xdraculax (首席怪叔叔)   2016-11-30 03:29:00
好怪的東西,既然是json何必塞在html裡面@@這年頭ajax沒必要自己刻,用jQuery之類比較快
作者: jeeyi345 (letmein)   2016-11-30 03:54:00
可以多指點一點嗎?我對JS,AJAX了解只有查W3C的程度,不知道怎麼做我想要的更好jquery昨天找範例改東西也出不來之前寫java的,網頁沒有錯誤訊息不太知道怎麼修@@
作者: shadowjohn (轉角遇到愛)   2016-11-30 09:12:00
http://jsfiddle.net/vobmzdgr/4/ 差不多是這種感覺1. 你的 cors 這樣寫不行,必需下在server端放meta沒用的2. json 外面沒必要多包html的東西,json尾也多了h1正常只要二行就完成了,一行ajax,二行解json或是ajax裡直接指定json型態,一行就完成 :D
作者: jeeyi345 (letmein)   2016-11-30 14:12:00
感謝!只是您給的網址js html要怎麼一起用?html指定嗎?response.addHeader("Access-Control-Allow-Origin", "*1.如上 2.剛試著把html mark掉,網頁就不能跑了了解,可以出乾淨json了,怎像連結出收到的內容:解算等還不太明白好像可以了,可以定期更新嗎?確保跟json變動同步
作者: shadowjohn (轉角遇到愛)   2016-11-30 17:08:00
定期?最簡單就設setInterval讓程式一直loop
作者: jeeyi345 (letmein)   2016-11-30 18:15:00
http://jsfiddle.net/vobmzdgr/7/ 像這樣嗎?感謝!
作者: shadowjohn (轉角遇到愛)   2016-11-30 20:04:00
對,這樣可以
作者: jeeyi345 (letmein)   2016-11-30 20:47:00
感謝,想再問一下 jquery有比js更簡單取json元件的方式嗎?
作者: shadowjohn (轉角遇到愛)   2016-12-01 14:51:00
看不大懂這個問題是什麼,你覺得jquery跟js哪個是大哥
作者: jeeyi345 (letmein)   2016-12-01 16:54:00
好像JQuery是JS的一種 JQuery比較好用 可是要引用的感覺手機沒有推出來@@

Links booklink

Contact Us: admin [ a t ] ucptt.com