javascript - 简单的搜索api
问题描述
我很难理解如何从 html 搜索框中获取搜索并将其输入到 JS 端的 api 链接中。我想要这样的东西工作
$.getJSON(`https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=$(".stock-name")&apikey=APIKEY`,
function(data){
console.log(data);
var date = data["Meta Data"]["3. Last Refreshed"];
var stock = data["Meta Data"]["2. Symbol"];
var info = data["Meta Data"]["1. Information"];
var open = data["Time Series (Daily)"][date]["1. open"];
var close = data["Time Series (Daily)"][date]["4. close"];
var high = data["Time Series (Daily)"][date]["2. high"];
var low = data["Time Series (Daily)"][date]["3. low"];
var vol = data["Time Series (Daily)"][date]["5. volume"];
var difference = close-open;
$(".Stock-Name").append(stock);
$(".info").append(info);
$(".stock-open").append(open);
$(".stock-close").append(close);
$(".difference").append(difference);
$(".date").append(date);
$(".high").append(high);
$(".low").append(low);
$(".vol").append(vol);
if(difference < 0){
$(".stock").css("background-color", "red");
}
else{
$(".stock").css("background-color", "green");
}
}
);
其中 url symbol=$(".stock-name") 将是用户在我的前端输入的股票名称,它将显示来自 api 数组的信息。
解决方案
您可能想从您的问题中删除您的 API 密钥。
您没有将股票字符串正确添加到 URL。
这是一个如何执行此操作的示例(API 密钥设置为“测试”,这似乎仍然有效)
$('#stock-search').click(function(){
var searchValue = $('#stock-name').val();
$.getJSON(`https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=${searchValue}&apikey=test`, function(data){
console.log(data);
var stock = data["Meta Data"]["2. Symbol"];
$('#searched_for').html(`Got data for ${stock}`);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="stock-name" type="text" value="APO"/><br/>
<button id="stock-search">Search</button><br/>
<div id="searched_for"></div>
推荐阅读
- android - 在主活动中没有观察到 MutableLiveData?将它与跨不同片段的共享视图模型一起使用时
- asp.net-mvc - 如何在mvc中订购月份?
- sqoop - 有没有办法在 sqoop 将 csv 文件导出到 Vertica DB 时跳过标题行
- google-contacts-api - CORS:gdrive 上的两个 gsheets 与运行我的脚本,任何人都抱怨 CORS
- azure - 在哪里可以找到业务部门的现有服务负责人?
- minecraft - 执行命令不起作用 - Minecraft 1.17.1
- java - Neo4j OGM Bolt Java 驱动程序抛出“由对等方重置连接”异常
- angular - 使用模板中的简单流可观察
- c# - 将 WebView2 固定版本运行时分发包含到项目中
- reactjs - 无法使用 history.push 在反应 js 中重定向