代码之家  ›  专栏  ›  技术社区  ›  Jim Diroff II

用自定义URL替换表单操作

  •  0
  • Jim Diroff II  · 技术社区  · 6 年前

    通过学习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>
    
    Example inputs:
    symbol = NFLX
    API_KEY = pk_s0m3rand0mphra5e
    
    Expected output:
    https://sandbox.iexapis.com/stable/stock/NFLX/quote?token=pk_s0m3rand0mphra5e
    
    Actual output:
    https://sandbox.iexapis.com/stable/stock/NFLX/quote?
    
    0 回复  |  直到 6 年前
        1
  •  1
  •   Jim Diroff II    6 年前

    通过从字符串串联中删除查询参数,并改为在API\u键上使用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>