1

Web ページで次のことを行う最速の方法は何ですか?

文字列値を指定すると、サーバーに保存されているフラット ファイルと照合し、見つかった場合は true を返し、そうでない場合は false を返します。ファイルには、各行が 20 文字以下の 5,000 行未満の行が含まれています。

これはクライアント側で完全に実行できるものですか? 可能であれば、データベースを使用したくありません。

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 に答える