gpt4 book ai didi

javascript - jQuery 及其 .getJSON 不工作以及如何同步异步 .getJSON?

转载 作者:行者123 更新时间:2023-12-01 01:40:50 28 4
gpt4 key购买 nike

所以首先,是的,我知道有几个答案,但没有一个能够解决我的问题。首先我将展示我的代码HTML:

    <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Shop</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<script src="https://use.fontawesome.com/a565674a9d.js"></script>


<!--MINE-------------------------------->
<script src="JS/jquery.js"></script>
<script src="JS/catalog.js"></script>

</head>
<body>
<nav class="navbar navbar-light">
<div>
<a class="navbar-brand" style="text-align: center;position: fixed; left: 40%;" >
<img src="979709898.png" width="70" height="70" class="d-inline-block align-top" alt="">
Costumer Bay
</a>
<a id="cart" class=" navbar-brand btn btn-danger" style="position: fixed; left: 70%" >
<i class="fa fa-shopping-cart fa-3x" aria-hidden="true"></i>
</a>
</div>
</nav>
<div id="lin1" class="container-fluid" style="padding: 20px;">

</div>
<div id="lin2" class="container-fluid" style="padding: 20px;">

</div>
</body>
</html>

jquery.js 是未压缩的原始 jquery 源代码

Data.Json在JS文件夹中

数据.json:

[
{
"id":0,
"name":"Laptop",
"price":50000 ,
"quantity":0
},
{
"id":1,
"name":"Phone",
"price":30000 ,
"quantity":0
},
{
"id":2,
"name":"Desktop",
"price":70000 ,
"quantity":0
},
{
"id":3,
"name":"Headphone",
"price":9000 ,
"quantity":0
},
{
"id":4,
"name":"Tablet",
"price":35000 ,
"quantity":0
},
{
"id":5,
"name":"AntiVirus",
"price":5000 ,
"quantity":0
}
]

现在 JavaScript 终于不起作用了

目录.js

let productinfo=[];
let firsttime = true;

$(function () {
console.log("here");
refreshcatalog();
console.log("now where");
let cart = $('#cart');
cart.click(function () { //NOT!WORKING
loadcart();
})

});

function refreshcatalog() {
console.log("no where");
if (firsttime){
console.log('evenhere');
$.getJSON("JS/data.json",function (data) {
console.log(data); //NOT!WORKING
});
}
if(firsttime){
firsttime=!firsttime;}
}
function loadcart() {
console.log("will load cart");
}

连点击事件都没有运行。请指导我,不,我不知道AJAX,所以请不要使用ajax方法来解决。

请帮忙

<----编辑1----->

for all those asking for directory structure:
shopping-----
|_ catalog.html

|_ JS(folder) -----
|_ catalog.js
|_ jquery.js
|_ data.json

<---------------------编辑 2 ------------->

将格式更改为以下后,点击事件开始运行:

$(document).on('click','#button2', function()
{
alert("Dynamic button action");
});

我的旧“.click”不起作用的原因将不胜感激。顺便说一句,我正在使用 Firefox 开发者版。

最佳答案

以下代码需要更改,因为您的catalog.js 和data.json 位于同一文件夹中。

$.getJSON("JS/data.json",function (data) 
console.log(data);
});

将代码更改为

$.getJSON("data.json",function (data) {
console.log(data);
});

请检查并告诉我您是否能够控制台数据,然后将解决其他问题。

让我们重新排列脚本(顺序)

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>

我已经删除了 jquery slim,因为 bootstrap 使用它,而不是我将你的 jquery 复制到顶部,以便 bootstrap 可以使用它。

这是编辑后的部分。

请不要从 $.getJSON 中删除 JS/data.json。

删除您的 jquery slim 和 JS/jquery。尝试使用下面的 CDN 链接或我在评论中提供的

它在我本地对我有用。

关于javascript - jQuery 及其 .getJSON 不工作以及如何同步异步 .getJSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44856099/

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