gpt4 book ai didi

javascript - 我想通过 API 解析 JSON 数据并将其公开发布在我的本地网站上

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

目前,我正在加载 zomato 餐厅 api,并且我有一个 api key 。当有人在表单中输入输入后,我尝试通过搜索查询发布数据。我遇到了有关该项目的各种问题。第一个问题是我想完全在本地完成此操作,但我使用 API,根据我的理解,这需要我有一些存储数据的后端部分。

有没有办法将数据临时存储到本地存储中而不会出现问题?或者是我在没有后端的情况下主要使用 https://jsonplaceholder.typicode.com/ 做某事的唯一希望.

目前这是我的代码,一旦搜索查询完成并检索数据,我想要附加一些 div。看了几个关于这个主题的视频,想使用 fetch 来获取数据,但我认为我的代码是一团糟。抱歉,我很难找到有关此主题的简明信息。

``
const searchForm = document.querySelector('form');
const resultsArea = document.getElementById('#restaurant_results');


var api = 'https://developers.zomato.com/api/v2.1/restaurant?res_id=16774318';
var city = Bethesda;
var APIkey = 'd40175980577c1cb4df25d608886594b';
var url =

document.querySelector('.submit-btn').addEventListener('click', GetPosts);


function GetPosts (){
fetch('https://jsonplaceholder.typicode.com/posts')
.then((res) => res.json())
.then((data) => {
let output = '<h2>Get Posts</h2>';
data.forEach(function(post){
output+=`
<div>
<h2>${post.title}</h2>
<p>${post.body}</p>

</div>
`;
});
document.getElementById('restaurant_results').innerHTML = output;

})
}

``

``

  <body>
<h1> Restaurant Finder</h1>
<div class="wrapper">
<form action="">
<div class="form-wrapper">
<label for="restaurant-name">Search</label>
<input type="restaurant-name" type="text" id="restaurant-name" placeholder="Search for a restaurant">
</div>
<div class="form-wrapper">
<label for="city-name">City</label>
<input type="city-name" type="text" id="city-name" value="Bethesda" value="New York" disabled>
</div>
<input type="submit" class="submit-btn">
</form>
<hr>
<section id="restaurant_results">

<div class="result_card">
<div class="result_header">
<h2 class="result_title">${title}</h2>
<h3 class="result_location result_neighborhood">${neighborhood}</h3>
<h3 class="result_location result_address">${address}</h3>
<p class="result_price">${price}</p>
<!--<p>${cuisine type}</p>-->
</div>

<div class="result_body">
</div>
<div class="result_footer">
<button class="result_footer_button">Call</button>
<button class="result_footer_button"><a href="" target="_blank" class="result_website">Visit website</a></button>
<button class="result_footer_button">Make reservation</button>
</div>
</div>

</section>
``

最佳答案

不,对于本地运行的简单 JS 应用程序,您不需要 Web 服务器。您的代码有很多错误,但您遇到的主要问题是您在注册事件监听器后定义了 GetPost (.addEventListener('click', GetPosts);) 。将 document.querySelector('.submit-btn').addEventListener('click', GetPosts); 放在 GetPost 函数之后。此外,您还需要阻止表单提交(因为您没有可以访问的后端服务器)。您可以使用preventDefault()来做到这一点方法。

function GetPosts(e) {
e.preventDefault();
...
}

对于您的简单项目,我建议查看 jquery

请记住使用 console.log 进行调试,祝您在学习 JS 和 HTML 基础知识的过程中好运。

附注掌握基础知识后,请研究合适的 JS 框架,例如 react , vueangular

关于javascript - 我想通过 API 解析 JSON 数据并将其公开发布在我的本地网站上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58440780/

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