Как я могу заменить метод «вывести» на метод "Ajax" в JavaScript?Jquery

Программирование на jquery
Ответить
Anonymous
 Как я могу заменить метод «вывести» на метод "Ajax" в JavaScript?

Сообщение Anonymous »

Я пытаюсь обернуть голову вокруг Ajax теперь, когда он использует Fetch для получения данных.
Синтаксис одинаково, но было любопытно, как это будет выглядеть. < /p>









Search







Изображение


< /code>

---
Вот JavaScript, который я хотел бы преобразовать из использования метода Fetch, в использование вызова Ajax вместо него. < /p>
---
let appId = 'b1e22f9b3891a9a6fc389e3e1a4cc496';
let units = 'imperial';
let searchMethod;

function getSearchMethod(searchTerm) {
if(searchTerm.length === 5 && Number.parseInt(searchTerm) + '' === searchTerm)
searchMethod = 'zip';
else
searchMethod = 'q';
}

function searchWeather(searchTerm) {
getSearchMethod(searchTerm);
fetch(`http://api.openweathermap.org/data/2.5/ ... ts=${units}`)
.then((result) => {
return result.json();
}).then((res) => {
init(res);
});
}

function init(resultFromServer) {
switch (resultFromServer.weather[0].main) {
case 'Clear':
document.body.style.backgroundImage = "url('clear.jpg')";
break;

case 'Clouds':
document.body.style.backgroundImage = "url('cloudy.jpg')";
break;

case 'Rain':
case 'Drizzle':
case 'Mist':
document.body.style.backgroundImage = "url('rain.jpg')";
break;

case 'Thunderstorm':
document.body.style.backgroundImage = "url('storm.jpg')";
break;

case 'Snow':
document.body.style.backgroundImage = "url('snow.jpg')";
break;

default:
break;
}

let weatherDescriptionHeader = document.getElementById('weatherDescriptionHeader');
let temperatureElement = document.getElementById('temperature');
let humidityElement = document.getElementById('humidity');
let windSpeedElement = document.getElementById('windSpeed');
let cityHeader = document.getElementById('cityHeader');

let weatherIcon = document.getElementById('documentIconImg');
weatherIcon.src = 'http://openweathermap.org/img/w/' + resultFromServer.weather[0].icon + '.png';

let resultDescription = resultFromServer.weather[0].description;
weatherDescriptionHeader.innerText = resultDescription.charAt(0).toUpperCase() + resultDescription.slice(1);
temperatureElement.innerHTML = Math.floor(resultFromServer.main.temp) + '°';
windSpeedElement.innerHTML = 'Winds at ' + Math.floor(resultFromServer.wind.speed) + ' m/s';
cityHeader.innerHTML = resultFromServer.name;
humidityElement.innerHTML = 'Humidity levels at ' + resultFromServer.main.humidity + '%';

setPositionForWeatherInfo();
}

function setPositionForWeatherInfo() {
let weatherContainer = document.getElementById('weatherContainer');
let weatherContainerHeight = weatherContainer.clientHeight;
let weatherContainerWidth = weatherContainer.clientWidth;

weatherContainer.style.left = `calc(50% - ${weatherContainerWidth/2}px)`;
weatherContainer.style.top = `calc(50% - ${weatherContainerHeight/1.3}px)`;
weatherContainer.style.visibility = 'visible';
}

document.getElementById('searchBtn').addEventListener('click', () => {
let searchTerm = document.getElementById('searchInput').value;
if(searchTerm)
searchWeather(searchTerm);
});


Подробнее здесь: https://stackoverflow.com/questions/594 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»