我一直在为我的网站制作一个Minecraft状态栏,并且我使用我对Javascript和jQuery的最小知识编写了这段代码。从我所看到的情况来看,似乎应该可以正常工作。
var url = 'minecove.org'; // URL of Server to Query
var port = '25565'; // Port of the Server
$.getJSON('http://api.syfaro.net/minecraft/1.2/server/status?ip=' + url + '&port=' + port), function(data) {
var online = data.online;
var playerson = data.players.online;
var maxplayers = data.players.max;
if (online) {
$('#online').text('Online').css('color', '#000000');
$('#players').text(playerson + '/' + maxplayers + ' players online');
}
else {
$('#online').text('Offline').css('color', '#333333');
$('#players').text('No Players');
}
}
我在页面上有两个div,“在线”并导航到http://api.syfaro.net/minecraft/1.2/server/status?ip=minecove.org&port=25565工作正常,返回JSON数据。我只是编码错了吗?根据我读过的几个教程,这种方法应该有效。我还将JSON行更改为$.getJSON(http://api.syfaro.net/minecraft/1.2/server/status?ip=minecove.org)
以消除上述变量中的任何错误,但这也不起作用。我真的很感激这方面的一些帮助。
感谢。
答案 0 :(得分:4)
您被逗号运算符欺骗(这很棘手,因为结果仍然是有效的语法)。
以下内容是否有问题?
$.getJSON('x' + url + '&port=' + port), function(data) {
//..
}
它应该。事实上,port
之后的括号应该在回调之后,以便它也作为参数传递。
$.getJSON('x' + url + '&port=' + port, function(data) {
//..
})
答案 1 :(得分:0)
函数getJSON将函数作为参数。
http://api.jquery.com/jquery.getjson/
var url = 'minecove.org'; // URL of Server to Query
var port = '25565'; // Port of the Server
$.getJSON('http://api.syfaro.net/minecraft/1.2/server/status?ip=' + url + '&port=' + port/*)*/, function(data) {
var online = data.online;
var playerson = data.players.online;
var maxplayers = data.players.max;
if (online) {
$('#online').text('Online').css('color', '#000000');
$('#players').text(playerson + '/' + maxplayers + ' players online');
}
else {
$('#online').text('Offline').css('color', '#333333');
$('#players').text('No Players');
}
});
答案 2 :(得分:0)
您有2个语义错误。一个是提前关闭一个括号,另一个是在函数后没有关闭最后一个括号。你的代码应该是:
var url = 'minecove.org'; // URL of Server to Query
var port = '25565'; // Port of the Server
$.getJSON('http://api.syfaro.net/minecraft/1.2/server/status?ip=' + url + '&port=' + port, function(data) {
var online = data.online;
var playerson = data.players.online;
var maxplayers = data.players.max;
if (online) {
$('#online').text('Online').css('color', '#000000');
$('#players').text(playerson + '/' + maxplayers + ' players online');
}
else {
$('#online').text('Offline').css('color', '#333333');
$('#players').text('No Players');
}
});
我测试了它并且工作正常。
来自玻利维亚拉巴斯的欢呼声