在网页上执行以下操作的最快方法是什么:
给定一个字符串值,检查存储在服务器中的平面文件,如果找到则返回true,否则返回false。该文件包含< 5k行,每行包含不超过20个字符。
这可以完全在客户端完成吗?如果可能的话,我宁愿不涉及数据库。
答案 0 :(得分:3)
同步方式:
function checkExists(flatFileUrl, searchString) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", flatFileUrl, false);
xmlhttp.send();
return (xmlhttp.responseText.indexOf(searchString) !== -1);
}
我建议做服务器端。您不需要数据库。只需使用您最喜欢的服务器端语言,如果在指定的文件中找到搜索字符串,则会接收一些参数并输出true或false。它会为你节省一些带宽。
编辑:如果您对文件进行了很多检查,那么我建议将加载结果存储在某个对象中......就像这样:
var flatTexts = {};
function checkExists(flatFileUrl, searchString) {
if (typeof flatTexts[flatFileUrl] === "undefined") {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", flatFileUrl, false);
xmlhttp.send();
flatTexts[flatFileUrl] = xmlhttp.responseText;
}
return (flatTexts[flatFileUrl].indexOf(searchString) !== -1);
}