Hirdetés
-
PROHARDVER!
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Teasüti
#3656
üzenetére
"És JSON formátumot is fel tudok dolgozni XML objektumként?"
Nem jó a kérdés, JSON-formátumot annak megfelelő formában is kell feldolgozni.
Kell hozzá általában egy JSON.parse() (+[link]), lásd alább.
Nagy előnye, hogy nagyon kényelmes is feldolgozni (ha a natív JSON-támogatás adott (ha nem, akkor külső könyvtár vagy más megoldás kell))."megzavart, hogy én itt XMLHttp-vel dolgozom"
Nem csodálom, de ne zavarjon meg.Az előzőek alapján írtam neked egy nagyon egyszerű példakódot, nyisd meg a böngésződ fejlesztőpanelét (F12-vel), kattints a Console fülre, majd egyszerűen másold be ezt a kódot, és nyomj egy Entert, hogy lásd, mit csinál:
// https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started
var loc = "40.714224,-73.961452"; // csak példa
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
var responseText = httpRequest.responseText;
var responseTextInJSON = window.JSON.parse(httpRequest.responseText);
if(responseTextInJSON.status === "OK"){
var results = responseTextInJSON.results;
for(var i = 0; i<results.length; i++) {
var addr = results[i].formatted_address;
console.log("formatted address: ", addr);
// további eredmények...
}
}
else {
// valami gáz van, kezeld le a hibát
}
} else {
// para van
alert('There was a problem with the request.');
}
}
};
var url = "https://maps.googleapis.com/maps/api/geocode/xml?latlng="+loc+"&sensor=true";
// inkább JSON-formátum
url = "https://maps.googleapis.com/maps/api/geocode/json?latlng="+loc+"&sensor=true";
var isAsynchronous = true; // változtasd meg, attól függően, hogy aszinkron kérést szeretnél, vagy sem
httpRequest.open("GET", url, isAsynchronous);
httpRequest.send();Így elég egyszerűen fel lehetett dolgozni az eredményeket, amiket JSON-formátumban kaptál.
-
fordfairlane
veterán
válasz
Teasüti
#3656
üzenetére
Ha megvan az eredmény JSON formátumban, egyszerűen belerakod egy változóba, majd a megfelelő propertyket lekérdezed.
var v = http.responseText;
for(i = 0; i < v.results.length;i ++) {
alert(v.results[i].formatted_address);
}alert helyett persze használj valami más debug kiíratást.
Új hozzászólás Aktív témák
- Melyik tápegységet vegyem?
- Autós topik
- Motorola Moto G84 - színes egyéniség
- Kingdom Come: Deliverance I-II.
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- BestBuy ruhás topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Milyen légkondit a lakásba?
- Milyen széket vegyek?
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- További aktív témák...
- iPhone 17 512 GB Párakék - Bontatlan - 1 év gyári Apple garancia, Hivatalos Apple Resellertől!
- Kingston 240GB Sata SSD
- AMD Ryzen R7 5800X / Beszámítás OK!
- Lenovo Yoga 7 2-in-1 OLED Ryzen 5 8640HS 16GB /512SSD/1év gari
- Dobozos Asus VivoBook S 15 Laptop 15,6" -30% Snapdragon X Elite 32/1TB 3K OLED 120Hz
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- Xiaomi Redmi Note 9 / 4/128GB / Kártyafüggetlen / 12 Hó Garancia
- BESZÁMÍTÁS! Lenovo Legion Go 512GB SSD játékkonzol garanciával hibátlan működéssel
- 159 - Lenovo LOQ (15APH8) - AMD Ryzen 7 7840HS, RTX 4060 (ELKELT)
- BESZÁMÍTÁS! MSI B650 R7 7700 32GB DDR5 1TB SSD RX 9070XT 16GB LIAN LI LANCOOL 217 Wood 750W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest
Kell hozzá általában egy


