这就是我之前关于这个话题的问题。
我的问题是,我使用的服务器应用程序接口添加了一个新的项目到列表中,正如我在上一个问题中所说的,我对应用程序接口或jQuery不是很熟练,因此我想知道你能推荐我读什么来了解这一点以及实际的解决方案。我需要让js使用的字段只有{"name":"Arthas","slug":"arthas","build":"12340","status":1},而不是其余的。
在此之前,非常感谢您。
这是-> http://api.neverendless-wow.com/server-status接口
{"servers":[{"name":"Arthas","slug":"arthas","build":"12340","status":1},{"name":"Deathwing","slug":"deathwing","build":"13623","status":1}],"alerts":[]}
这是我现在的js
function checkStatus()
{
jQuery.getJSON("http://api.neverendless-wow.com/server-status",function(data){
if (data.status == '1') {jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');}
else {jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');}});
}
checkStatus();
{
setInterval(changeState, 300000)
}
发布于 2012-05-26 01:44:39
您需要使用data作为数组(data),因此您的代码将如下所示:
function checkStatus()
{
jQuery.getJSON("http://api.neverendless-wow.com/server-status",function(data){
if (data.servers[0].status == '1') {
jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');
}
else {
jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');
}
});
}
checkStatus();
{
setInterval(changeState, 300000)
}
发布于 2012-05-26 15:37:33
我可能会这样说:
// check server status
function checkStatus()
{
$.getJSON(server_url, function(data) {
// reset
var mode = "Offline";
$('.status').removeClass('online').addClass('offline');
// is available?
if (data !== null && data.servers !== null && data.servers[0].status === 1) {
mode = "Online";
$('.status').removeClass('offline').addClass('online');
}
// Extract data from received JSON string is exists
extractData(data);
// set needed attributes
$('.status')
.attr('label', mode)
.text('Servers are ' + mode);
});
}
实时演示available on JsBin
https://stackoverflow.com/questions/10758869
复制相似问题