I've got a source model script which when I try and replicate doesn't seem to work how it is supposed to do. Can anyone tell me where I'm going wrong?
HTML (This is just saying where the table is supposed to go and the JS script right at the end so the full HTML runs before running the script so I don't think there's anything wrong here):
<!DOCTYPE html>
<html>
<head>
<title>Weather App</title>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<header>
<h1>'>Weather App</h1>
</header>
<section>
<table id="weather"></table>
<div id="info"></div>
</section>
<footer>
</footer>
<script src="weather.js" type="text/javascript"></script>
</body>
</html>
JavaScript (I am pretty sure the problem is here but I don't know why. I know the problem is likely going to be in the response section with the formatting of the tables but I'm confused as to how and why):
(function updateWeather()) {
setTimeout(function() {
$.ajax({
url: "weather.json",
type: "GET",
dataType: "json",
success: function(response) {
let sTxt = "";
$("#weather").html("");
$.each(response.cities, function(index) {
sTxt += "<tr class='weather'><td>" + response.cities[index].cityName +
"</td><td>" + response.cities[index].currentConditions +
"</td><td>" + response.cities[index].temperature + "</td><td>" +
response.cities[index].windSpeed + "</td><td>" + response.cities[
index].windDirection + "</td><td>" + response.cities[index].windChillFactor +
"</td>" + "</td><td></td><td></td></tr>";;
})
$("#weather").append(sTxt);
updateWeather();
},
error: function() {
$("#info").html("<p>An error has occured</p>");)
});
}, 250);
})();
JSON (I don't think there's anything wrong here):
{
"cities": [
{
"cityID": "1",
"cityName": "London",
"currentConditions": "Warm and Windy",
"temperature": "28",
"windSpeed": "12",
"windDirection": "North East",
"windChillFactor": "0"
},
{
"cityID": "2",
"cityName": "Canterbury",
"currentConditions": "Light Showers",
"temperature": "26",
"windSpeed": "4",
"windDirection": "North",
"windChillFactor": "0"
},
{
"cityID": "3",
"cityName": "Margate",
"currentConditions": "Windy",
"temperature": "27",
"windSpeed": "5",
"windDirection": "South East",
"windChillFactor": "5"
},
{
"cityID": "4",
"cityName": "Whitstable",
"currentConditions": "Rain",
"temperature": "21",
"windSpeed": "6",
"windDirection": "West",
"windChillFactor": "7"
},
{
"cityID": "5",
"cityName": "Herne Bay",
"currentConditions": "Rain",
"temperature": "19",
"windSpeed": "8",
"windDirection": "South",
"windChillFactor": "0"
},
{
"cityID": "6",
"cityName": "Ramsgate",
"currentConditions": "Light Showers",
"temperature": "22",
"windSpeed": "4",
"windDirection": "South East",
"windChillFactor": "-2"
},
{
"cityID": "7",
"cityName": "Dover",
"currentConditions": "Strong Winds",
"temperature": "36",
"windSpeed": "12",
"windDirection": "South West",
"windChillFactor": "3"
},
{
"cityID": "8",
"cityName": "Folkestone",
"currentConditions": "Cloudy",
"temperature": "27",
"windSpeed": "9",
"windDirection": "North",
"windChillFactor": "-10"
},
{
"cityID": "9",
"cityName": "Deal",
"currentConditions": "Hot",
"temperature": "29",
"windSpeed": "7",
"windDirection": "North East",
"windChillFactor": "-5"
},
{
"cityID": "10",
"cityName": "Ashford",
"currentConditions": "Strong Showers",
"temperature": "17",
"windSpeed": "5",
"windDirection": "South East",
"windChillFactor": "-7"
},
]
}
Thank you for any suggestions.