我正在尝试将一个非常简单的文本文件(例如:0 online:
或1 online: Username
或2 online: Username, Username
)从我控制的服务器加载到javascript var中,该文本文件将根据minecraft服务器上的用户数量而变化,以便最终将其加载到我的Pebble,并进行或多或少的实时更新。(阅读:没有jquery)(也阅读:我几乎不知道我实际上在做什么,如果有更好的方法,lemme知道。)
我已经做了大量的谷歌搜索工作,这些搜索工作大多指向我使用 JSON 和 XMLHTTPRequests(编辑:XMLHTTPRequests可能是必要的),但是它们对于我所需的内容似乎过于复杂(即通过HTTP提供文本文件的内容,将其塞入var中,然后让Pebble将其吐到屏幕上。)
没有JQuery,甚至没有JSON,如何将文本文件的内容加载到javascript var中?
一些注意事项:
这很容易做到,只需XmlHttpRequest
在脚本开始时包含以下包装器即可(使用起来更容易):
var xhrRequest = function (url, type, callback) {
var xhr = new XMLHttpRequest();
xhr.onload = function () {
callback(this.responseText);
};
xhr.open(type, url);
xhr.send();
};
然后这样称呼它:
xhrRequest(url, 'GET', function(responseText) {
console.log("This is the content you got: " + responseText);
});
如果您使用JSON格式化内容,则实际上将使事情变得更容易,因为您不必解析文件,并且可以使用JavaScript为您自动解析文件:
例如,如果答复为:
{ onlineCount: 42, usernames: [ "Alice", "Bob", "Charlie", "etc" ] }
然后,您可以像这样处理它:
xhrRequest(url, 'GET',
function(responseText) {
// responseText contains a JSON object
var json = JSON.parse(responseText);
// Now you can process this as a JavaScript dictionary
console.log("Number of online players: " + json.onlineCount);
console.log("First player: " + json.usernames[0]);
// And send messages to Pebble
Pebble.sendAppMessage({ 0: json.onlineCount });
}
);
对于完整的示例和C面(在Pebble上),您应该在Pebble教程的第3步中获取战利品,它确实使用天气数据来做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句