Pavel hace 7 años
padre
commit
1566fcd5c0
Se han modificado 1 ficheros con 39 adiciones y 0 borrados
  1. 39 0
      js11XMLHttpRequest/Weather/main.js

+ 39 - 0
js11XMLHttpRequest/Weather/main.js

@@ -37,6 +37,45 @@ request.onreadystatechange = function(){ //обработчик изменени
             }
             else
                 selects.appendChild(select);
+            request.open('GET', "https://query.yahooapis.com/v1/public/yql?" + 'q=' + encodeURIComponent("select * from weather.forecast where woeid in (select woeid from geo.places(1) where text=\'" + select.value + "\') and u='c'") + '&format=json', true);
+            	console.log(this.value)
+            	request.onreadystatechange = function(){
+            		if(request.readyState === 4 && request.status === 200){
+            			console.log(JSON.parse(request.responseText));
+            			var obj = JSON.parse(request.responseText);
+            			
+            			var weather = obj.query.results.channel.item.description;
+            			
+            			var resWeather = weather.replace(/href|CDATA|[\!]|[\[]|[\]]/g,"");
+            			var resWeather2 = resWeather.slice(1,resWeather.length - 1);
+            			var resWeather3 = resWeather2.replace(/Full Forecast at Yahoo Weather/g,"");
+            			var resWeather4 = resWeather3.slice(0,resWeather3.length - 28);
+            			weatherDiv.innerHTML = resWeather4;
+            			console.log(resWeather4)
+            			// var resObj = obj.query.results;
+            			// var keys = Object.keys(resObj);
+            			// var table = document.createElement("table");
+            			// for (var i = 0; i < keys.length; i++) {
+            			// 	var tr = document.createElement("tr");
+            			// 	var td1 = document.createElement("td");
+            			// 	var td2 = document.createElement("td");
+            			// 	td1.innerHTML = keys[i];
+            			// 	td2.innerHTML = resObj[keys[i]];
+            			// 	tr.appendChild(td1);
+            			// 	tr.appendChild(td2);
+            			// 	table.appendChild(tr);
+            			// }
+            			// document.body.appendChild(table);
+            		}
+            		else if(request.readyState > 1 && request.readyState < 4){
+            			weatherDiv.setAttribute("heigt", "400px")
+            			weatherDiv.innerHTML = "loading...";
+            		}
+            		else if(request.status === 400){
+            			weatherDiv.innerHTML = "error 400";
+            		}
+            	}
+            	request.send();
             select.onchange = function(){
 
             	request.open('GET', "https://query.yahooapis.com/v1/public/yql?" + 'q=' + encodeURIComponent("select * from weather.forecast where woeid in (select woeid from geo.places(1) where text=\'" + this.value + "\') and u='c'") + '&format=json', true);