Javascript 从API输出结果
最近我开始开发一个网站。我没有太多的网页开发经验,所以我希望我的问题不是太基本 我有两个Ajax函数。一个是得到一把钥匙并做一些事情,另一个是对所有的钥匙做同样的事情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) {
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()'>
请告知。据我所知,您应该:
数据类型:“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所述,无需再次执行查询。确定。非常感谢你!