javascript - 用自定义 URL 替换表单操作
问题描述
学习 HTML 和 JavaScript,我正在尝试根据通过表单提交的输入为 API 请求形成自定义 URL。我已经能够制作大部分 URL,但在将 URL 字符串连接到“?”之后遇到问题。提交动作时。我仅根据文档和论坛帖子就做到了这一点,但无法弄清楚如何完成此操作,只是想问问某人。
<div id="stock_quote_iex">
<form id="get_stock_quote_form" onsubmit="get_stock_quote()" method="GET">
<p>Enter Symbol and API Key</p>
<input id="symbol" type="text" placeholder="Symbol">
<input id="api_key" type="text" placeholder="API_KEY">
<input type="submit" value="Submit">
</form>
</div>
<script language="javascript" type="text/javascript">
function get_stock_quote()
{
var form = document.getElementById('get_stock_quote_form')
var symbol = document.getElementById('symbol').value
var api_key = document.getElementById('api_key').value
var action_src = "https://sandbox.iexapis.com/stable/stock/" + symbol + "/quote?token=" + api_key
form.action = action_src;
}
</script>
示例输入: 符号 = NFLX API_KEY = pk_s0m3rand0mphra5e 预期输出: https://sandbox.iexapis.com/stable/stock/NFLX/quote?token=pk_s0m3rand0mphra5e 实际输出: https://sandbox.iexapis.com/stable/stock/NFLX/quote?
解决方案
通过从字符串连接中删除查询参数并改用 API_Key 上的 name 属性进行更正。
<div id="stock_quote_iex">
<form id="get_stock_quote_form" onsubmit="get_stock_quote()" method="GET">
<p>Enter Symbol and API Key</p>
<input id="symbol" type="text" placeholder="Symbol">
<input id="api_key" name="token" type="text" placeholder="API_KEY">
<input type="submit" value="Submit">
</form>
</div>
<script language="javascript" type="text/javascript">
function get_stock_quote()
{
var form = document.getElementById('get_stock_quote_form')
var symbol = document.getElementById('symbol').value
var action_src = "https://sandbox.iexapis.com/stable/stock/" + symbol + "/quote"
form.action = action_src;
}
</script>
推荐阅读
- jquery - Mottie 的虚拟键盘在接受操作后保留键盘
- javascript - 滚动后漂移聊天未打开
- angular - Angular 在使用提供的服务时收到循环依赖检测警告:LazyModule
- python - 使用表情符号读取 JSON 文件时出现 UnicodeDecodeError
- php - 如何解压缩并读取服务器内部的文件?
- odoo - 如何在 Odoo 12 中创建仪表板视图?
- jquery - 如何循环通过两个选定的元素?
- angular - Twilio - 警告 - SDK 需要 WebRTC/ORTC 浏览器支持
- oracle12c - 无法更改列名
- c# - 多个 Where-Object 子句无效