通过JavaScript函数来调用Web API

时间:2018-02-03 22:01:28

标签: javascript node.js asp.net-web-api

我想从数据提供商“intrinio”中检索苹果公司的财务数据

我非常擅长nodejs所以我能够编写代码并使用nodejs将数据检索到console.log中。代码如下 -

var https = require("https");
var username = "****";
var password = "****";
var auth = "Basic " + new Buffer(username + ':' + 
password).toString('base64');

var request = https.request({
method: "GET",
host: "api.intrinio.com",
path: "/companies?ticker=AAPL",
headers: {
    "Authorization": auth
 }
 }, function(response) {
 var json = "";
 response.on('data', function (chunk) {
    json += chunk;
 });
 response.on('end', function() {
    var company = JSON.parse(json);
    console.log(company);
 });
});

request.end();

我的问题是如何在javascript(无节点)函数中编写此代码,并在单击按钮时调用javascript函数并在html页面上显示数据。请帮帮我。

2 个答案:

答案 0 :(得分:0)

我建议你按照Ajax的要求去做。只需使用POST方法并获取数据。

$.ajax({  
            type: "POST",  
            url: "https://api.intrinio.com/companies?ticker=AAPL",  
            header: auth,  
            success: function(dataString) {
                console.log(dataString); 
            }  
        });  

答案 1 :(得分:0)

  

您可以使用JavaScript XMLHttpRequest

Visit this link to see more

或者您可以使用以下基于承诺的功能 -

var callAPI = function(type, url, payload) {
return new Promise(function(resolve, reject) {
    var xhttp = new XMLHttpRequest();
    xhttp.open(type, url, true);
    xhttp.setRequestHeader("Content-type", "application/json");
    xhttp.setRequestHeader("Authorization", authToken);
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4) {
            resolve({
                status : this.status,
                data : JSON.parse(this.responseText)
            });
        }
    };
    if(type.toLowerCase() === 'post'){
        xhttp.send(JSON.stringify(payload));
    }else{
        xhttp.send();
    }
});
}