0

私はいくつかの制限を回避しようとしているので、この質問はちょっとくだらないです:

現在の JS は、次のコードで ajax クエリを送信します

jQuery('#searchbox').suggest('/?live=1');

サーバーが取得するのは、次のクエリ文字列です。

?live=1&q=searchstring

問題: サーバーは、クエリ文字列の前に「q=」ではなく「s=」が必要であると想定しています。

既存のスクリプトを使用する必要があるため、既存の提案プラグインまたはphp検索スクリプトを変更せずに、javascriptで「q =」を「s =」に変更する方法を見つけようとしています。

ありがとう。

4

1 に答える 1

1

これを行う唯一の方法は、プラグインを変更することです。スクリプトを永久に変更することを避けたい場合、およびこれを 1 ページだけに必要とする場合は、関数を一時的にオーバーライドします。

$.suggest.suggest = function() {
    var q = $.trim($input.val());
    if (q.length >= options.minchars) {
        cached = checkCache(q);
        if (cached) {
            displayItems(cached['items']);
        } else {
                //This is the line we r changing
                $.get(options.source, {s: q}, function(txt) {
                $results.hide();
                var items = parseTxt(txt, q);
                displayItems(items);
                addToCache(q, items, txt.length);
            });
        }
    } else {
        $results.hide();
    }
}
于 2009-09-21T20:26:16.037 に答える