簡體   English   中英

如何根據用戶輸入進行API調用?

[英]How to make an API call based on user input?

當用戶單擊“提交”按鈕時,我試圖對這樣的API進行AJAX調用。 我想通過獲取用戶在文本框中輸入的值來形成API調用的URL。

<script type = "text/javascript">

$("#submit").click(function(){
  var stock = $("#stocks").val();
  var url = "http://dev.markitondemand.com/MODApis/Api/v2/Quote/jsonp?symbol=" + stock;

 $.ajax({
    url: url,
    dataType: 'jsonp',
    success: function(results){
        var status = results.Status;
        var company = results.Name;
        $('#results').append(status + '. Company is: ' + company);
    }
});

});  

</script>

身體看起來像這樣

<body>
  <input id="stocks" />
  <button type="submit" id="submit">Submit</button>

  <div id="results"></div>

</body>

$url工作還是我做錯了什么?

這是我正在處理的代碼的副本-http://jsbin.com/pizoruxoyo/edit?html,輸出

將代碼包裝到文檔就緒功能中,並將其放在頁面底部:

<script type = "text/javascript">
$(function(){
$("#submit").click(function(){
  var stock = $("#stocks").val();
  var url = "http://dev.markitondemand.com/MODApis/Api/v2/Quote/jsonp?symbol=" + stock;
  console.log(stock);
 $.ajax({

    url: url,
    dataType: 'jsonp',
    success: function(results){
        var status = results.Status;
        var company = results.Name;
        $('#results').append(status + '. Company is: ' + company);

    }
});

});

});

</script>

在這里演示

解決該問題的一種方法是用document.ready()包裝整個腳本,或將代碼明確地放在一個函數中並為其指定一個特定名稱,然后使用該函數的onlclick =“ myFunction()”屬性調用該函數。按鈕。

function loadDoc() {
   var stock = $("#stocks").val();
   var url = "http://dev.markitondemand.com/MODApis/Api/v2/Quote/jsonp?    symbol=" + stock;

   $.ajax({
       url: url,
       dataType: 'jsonp',
       success: function(results){
           var status = results.Status;
           var company = results.Name;
           $('#results').append(status + '. Company is: ' + company);
       }
   });
};

這是您的按鈕將用於調用函數的方式:

<button type="button" onclick="loadDoc()">Request data</button>

這是演示的鏈接: http : //jsbin.com/pohofegiko/edit?html,輸出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM