API的输出结果

时间:2015-05-19 13:51:49

标签: javascript jquery ajax api

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

我有两个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()'>

请告知。

1 个答案:

答案 0 :(得分:2)

据我所知,你应该:

  1. 在您的ajax呼叫选项中设置dataType: 'json'
  2. jsonResult = data['result']应为jsonResult = data(不需要jsonResult变量?)
  3. $("#doSomething").html(data)表示您正在尝试在HTML元素中推送JSON对象。因此,您至少应该$("#doSomething").html(JSON.stringify(data)),或者更多地详细说明您的数据。