从Javascript文件调用Rest API:数据返回问题

Calling Rest API from Javascript File: Data Return Issue

本文关键字:数据 返回 问题 API Rest Javascript 文件 调用      更新时间:2023-09-26

嗨,我已经创建了一个javascript文件,在那里我调用rest api并获取数据。我想从html页面返回数据到调用函数,但调用的工作方式,我不能。

HTML:

<html>
<head>
    <title></title>
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js" />
    <script src="jquery-G5API-1.0.0.js" />
    <script type="text/javascript">
           function JSFile() {
                var result = GetStatus(123456);
                alert('HTML: '+ result);
           }
    </script>
</head>
<body>
    <input id="Button1" type="button" value="JSFile" onclick="JSFile()" />
</body>
</html>

query-G5API-1.0.0.js:

function GetStatus(token) {
     var url = 'some/url';
     var result = '';
     $.getJSON(url,function(data) 
     { 
        //alert(JSON.stringify(data)); 
     })
     .always(function(xhr, status) {
          alert( "finished: " + JSON.stringify(xhr));
          result = JSON.stringify(xhr);
      });
     alert('Returning result: ' + result);
     return result;
 }

警报被调用的顺序:返回结果:空字符串HTML: empty_string完成:json_data

关于如何从。js文件返回json数据到html文件中的调用函数的任何建议将非常感谢。

您需要解析承诺以获得预期的结果。请查看jQuery延迟对象api和观察(简化)如下…

function GetG5Status3(token) {
    return $.getJSON('some/url')
}

function JSFile() {
    GetG5Status(123456).done(function(response) {
        console.log(response);
    });
}

JSFiddle链接-简化演示

另外,我没有看到任何使用token