Dataene, de samme som XML-versjonen, er tilgjengelige som JSON. Den komplette adressen er: https://borres.hiof.no/wep/data/geografi/land.json
Dataene ser slik ut:
land som JSON
Vi vil lage en liste med
navnene på landene i fila. Vi gjør det med en "håndskrevet" AJAX-request og ved hjelp av jQuery.
Basis AJAX
Javascript-koden blir slik:
_script1.js
var myRequest=null;
var url="https://borres.hiof.no/wep/data/geografi/land.json";
function startXMLHttpRequest()
{
myRequest = new XMLHttpRequest();
if (myRequest) {
myRequest.onreadystatechange = processRequestChange;
myRequest.open("GET", url, true);
myRequest.send(null);
}
else{
alert("Nettleseren henger ikke med");
}
}
function processRequestChange()
{
// if the request is complete and successfull
if (myRequest.readyState == 4) {
if ((myRequest.status == 200) || (myRequest.status == 304))
{
useJson(myRequest.responseText);
}
else
alert("Problem med tilgang til data:\n" + myRequest.statusText);
}
}
function useJson(T){
// accumulate the result here
var result="";
// parse string to object list
var cList=JSON.parse(T).geonames;
// find and walk all country names
for(var i=0; i< cList.length;i++){
result+="<li>"+cList[i].countryName+"</li>";
}
elt=document.getElementById("dump1");
elt.innerHTML='<ul>'+result+'</ul>';
}
function getIt(){
// note that jquery can do smarter things with json
$.ajax({
url:"https://borres.hiof.no/wep/data/geografi/land.json",
success:function(data,status,xhr)
{
useIt(xhr.responseText);
},
error:function(data)
{
document.getElementById("dump2").innerHTML=data.statusText;
}
});
}
function useIt(T){
// accumulate the result here
var result="";
// parse string to object list
var cList=JSON.parse(T).geonames;
// find and walk all country names
for(var i=0; i< cList.length;i++){
result+="<li>"+cList[i].countryName+"</li>";
}
elt=document.getElementById("dump2");
elt.innerHTML='<ul>'+result+'</ul>';
}