1

在网页上执行以下操作的最快方法是什么:

给定一个字符串值,将其与存储在服务器上的平面文件进行检查,如果找到则返回 true,否则返回 false。该文件包含 < 5k 行,其中每行包含不超过 20 个字符。

这可以完全在客户端完成吗?如果可能的话,我宁愿不涉及数据库。

4

1 回答 1

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);
}
于 2013-06-04T18:28:47.980 回答