Windows 7小工具AJAX停止工作
我正在写一个小工具,它会显示我的游戏服务器的当前状态。 它通过返回JSON的URL获取其信息。一开始它运行良好。但现在它似乎陷入了AJAX的呼叫。Windows 7小工具AJAX停止工作
这是我的脚本:
function start() {
$("body").css({
height: "100px",
width: "130px",
margin: 0
});
$("#refresh").click(function (event) {
event.preventDefault();
fetch_info();
});
fetch_info();
};
function fetch_info() {
var now = new Date();
var msec = now.getTime();
ajax = new ActiveXObject("Msxml2.XMLHTTP");
ajax.open("GET", "http://the.amazing.url?msec="+msec, true);
ajax.onreadystatechange = function() {
if (ajax.readyState === 4) {
if (ajax.status === 200) {
var json = $.parseJSON(ajax.responseText);
if (json.map != "error")
{
$("#map").html(json.map);
$("#mode").html(json.gamemode);
$("#current").html(json.players);
$("#max").html(json.max_players);
}
else
{
$("#map").html("crashed");
}
} else {
$("#map").html("error");
}
}
else
{
$("#map").html("fetching data");
}
}
ajax.send(null);
}
当小部件开始,则显示“读取数据”但之后,它偏偏不信邪。它获得有效的JSON数据。
有谁知道为什么或者调试这个脚本的方法?
有两个分号错误。它们很可能发生在你改进脚本的过程中,并且分号移动了。 14行不需要分号,但是44行。
第14行:
44: };
45: ajax.send(null);
46: }
至于调试脚本,我使用内置的浏览器开发者工具就像在IE F12或开发工具在Chrome:
13: fetch_info();
14: }
44号线。当我制作小工具时,我使用基本网页测试了所有脚本,以便可以观看浏览器的JavaScript控制台。
JSLint也有帮助。但是,在使用它时,我选择了以下选项: 假设Windows,允许使用未使用的参数,允许缺少'use strict'杂注,允许每个函数使用许多var语句,并且允许杂乱的空白区域。否则JSLint会对你的脚本感到无所适从。希望这可以帮助。
另外,如果你有Visual Studio,你可以使用它的脚本调试器。这里有一篇文章解释如何:http://www.howtogeek.com/howto/windows-vista/how-to-debug-a-windows-vista-sidebar-gadget-with-visual-studio/
地狱,我完全忘了我在这里发布这个问题。无论如何,我重写了代码,但是您的解决方案会起作用:)谢谢 – McFarlane 2011-08-30 10:07:35
安全问题?它确实走向了外部。也许你需要添加(再)the.amazing.url到你信任的网站 – mplungjan 2011-02-13 17:57:04