Javascript 从API输出结果

Javascript 从API输出结果,javascript,jquery,ajax,api,Javascript,Jquery,Ajax,Api,最近我开始开发一个网站。我没有太多的网页开发经验,所以我希望我的问题不是太基本 我有两个Ajax函数。一个是得到一把钥匙并做一些事情,另一个是对所有的钥匙做同样的事情 function doSomething(key) { $.ajax({ url: '/control/doSomething?key=' + key, type: "GET", success: function (data, textStatus, jqXHR) {

最近我开始开发一个网站。我没有太多的网页开发经验,所以我希望我的问题不是太基本

我有两个Ajax函数。一个是得到一把钥匙并做一些事情,另一个是对所有的钥匙做同样的事情

function doSomething(key) {
    $.ajax({
        url: '/control/doSomething?key=' + key,
        type: "GET",
        success: function (data, textStatus, jqXHR) {
            $("#doSomething").html(data)
            $("#doSomething").show()
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert('error')
        }
    });
}
function doAll() {
    $.ajax({
        url: '/control/getAll',
        type: "GET",
        success: function (data, textStatus, jqXHR) {
            jsonResult = data['result']

            for (key in jsonResult) {
                doSomething(key)
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert('error')
        }
    });
}
/control/doSomething/key
的预期API结果如下所示:

{
  "host" : "my-pc",
  "ts" : "Tue May 19 15:47:01 2015",
  "status" : "Ok"
}
这些功能正常工作。但是,我在打印API的结果时遇到了一个问题。我正试图打印输出,但什么也没发生。我刚得到一个空的蓝色气球

<div style="width: 450px;font-size: 14px;margin-top: 50px;display:None" id="doSomething" class="tr-bg tr-internal-frame" onclick='$("#doSomething").toggle()'>


请告知。

据我所知,您应该:

  • 在ajax调用选项中设置
    数据类型:“json”
  • jsonResult=data['result']
    应该是
    jsonResult=data
    (不需要
    jsonResult
    变量?)
  • $(“#doSomething”).html(数据)
    表示试图将JSON对象推送到html元素中。因此,您至少应该执行
    $(“#doSomething”).html(JSON.stringify(data))
    ,或者更详细地阐述您的数据

  • 另外,如果
    /control/getAll/
    返回所有键,则无需进行更多的AJAX调用来检索单个键,因为
    getAll
    路由应该返回一个数据数组。@Jack:谢谢。它起作用了。另一个问题:当我调用doAll()时,我假设函数会得到很多结果(例如:ok,ok,error,ok)。这种情况下应该打印什么?我可以打印每个键和每次迭代的输出吗?我想这主要取决于你。您可以通过
    for(输入数据){/*data[key]*/}
    访问数据-如@thepanuto所述,无需再次执行查询。确定。非常感谢你!