我编写了一个从桌面运行的网页,以从公共网站上获取信息。我正在尝试到达 1)如果没有互联网连接,则会发出警报 2)如果有互联网连接但不知何故未正确检索信息,则会提醒用户。
如果没有 Internet 连接,try and catch 可用于测试。
我正在使用 xml.status 代码进行第二次测试...如果网站处于活动状态,但提取的信息被弄乱了....该测试条件没有按我想要的方式工作。我试着给 xml.open 一个虚假的网站,并期待一个非 200-300 的状态代码。但它不起作用......而是激活了catch语句。为什么是这样?有没有更好的方法来写这个?
另外,在旁注中,我已经返回“”;因为我使用它的调用变量不能为空或未定义:variable = getInfo(); n.setAttribute("占位符", 变量);
function getInfo() {
var xml = null;
xml = new XMLHttpRequest();
try {
xml.open("get", "http://example.asp", false);
xml.send(null);
if ((xml.status >= 200 && xml.status <= 300) || xml.status == 304) {
var hi = xml.responseText;
hi = hi.replace(/(\r\n|\n|\r)/gm, "");
var what1 = /winning_number_sm.*?ul/
var what2 = /\d+/g
hi = what1.exec(hi);
var temp;
for (i = 0; i < 6; i++) {
if (null !== (temp = what2.exec(hi))) {
numbers[i] = temp;
}
}
return numbers;
} else {
alert("Error Connecting to Website! You will have to eneter informatin by hand");
return "";
}
} catch (e) {
alert("No Internet Connection! You will have to enter information by hand");
return "";
}
}