gpt4 book ai didi

javascript - 我真的很难使用 javascript 让我的 json 数据显示在表格中

转载 作者:行者123 更新时间:2023-11-28 03:14:59 25 4
gpt4 key购买 nike

我有一个源模型脚本,当我尝试复制时,它似乎无法正常工作。谁能告诉我哪里出错了?

HTML(这只是说表格应该放在哪里,JS 脚本就在最后,因此完整的 HTML 在运行脚本之前运行,所以我认为这里没有任何问题):

<!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(我很确定问题就在这里,但我不知道为什么。我知道问题可能出现在表格格式的响应部分,但我对如何以及为什么感到困惑):

(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(我不认为这里有什么问题):

{
"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"
},
]
}

感谢您的任何建议。

最佳答案

我认为您可能会遇到这个问题,因为缺少一些括号和其他 JavaScript 语法错误。

由于整个 javascript 函数声明后面跟着一对 (),因此我假设 updateWeather() 函数的目的是自动运行。 See this answer for more info about ()'s .

请尝试这个更新的 JavaScript 代码。

(function updateWeather(){

$.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>")
}
})

})();

附注如果像我一样使用本地 json 文件进行测试,您将遇到 CORS 错误“Access to XMLHttpRequest at 'file:///C:/Users/blah/blah/blah/weather.json' from origin 'null' has被 CORS 策略阻止:跨源请求仅支持以下协议(protocol)方案:http、data、chrome、chrome-extension、https”您可能已经解决了这个问题,但您需要在服务器上获取 json 或 CORS 策略允许的内容。 See this answer

祝你好运!

关于javascript - 我真的很难使用 javascript 让我的 json 数据显示在表格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59725888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com