0

現在の URL の末尾に文字列$order=ASCまたはC を追加する必要があります。$order=DES

私の問題は、私がこれを取得することです:

www.url.com/?order=ASC

そして、私はこれが必要です

www.url.com/search.php?order=ASC

しかし、(同じsearch.phpスクリプトを使用して)このようなURLを使用する必要があります

www.url.com/search.php?status=active&name=bill&order=ASC

つまり、リンクがwww.url.com/search.php?status=active&name=billあり、注文文字列を最後に追加する必要があります。

ここでstackoverflowを見ましたが、最初の例では何も機能しません:

www.url.com/search.php?order=ASC
4

2 に答える 2

0

これをまったく取得できるかどうかはわかりませんが、JS でクエリ文字列を取得するには、次のことを行うだけです。

var qs = window.location.search;

新しいクエリ文字列を設定するには、次のようにします。

window.location.search = 'order=ASC';

無限のリダイレクト ループを作成しないように注意してください。

つまり、www.url.com/search.php?status=active&name=bill へのリンクがあり、最後に注文文字列を追加する必要があります。

このリンクが次のような場合:

<a href="www.url.com/search.php?status=active&name=bill"></a>

行う:

var oldURL = $('a').attr('href');
var newURL = oldURL+'&order=ASC';

$('a').attr('href', newURL);

何らかの理由で現在の URL に追加する必要がある場合:

var URL = window.location:
window.location = URL+'search.php?status=active&name=bill&order=ASC

新しいクエリ文字列を追加する前に古いクエリ文字列を削除するには、次のようにします。

var URL = window.location.replace(window.location.search, '');

クエリ文字列があることが確実な場合は、次のこともできます。

var URL = window.location.split('?')[0];

URL の最後の文字がスラッシュであることを確認して削除するには、次のようにします。

var url = window.location;
var lastChar = url[url.length-1];

if (lastChar == '/') {
    url = url.substring(0, url.length-1);
}

ここまでで要点は理解できたので、ほとんどの URL とクエリ文字列を取得および設定できます。

于 2012-04-30T15:25:05.373 に答える
0

jQuery 用のmyURL プラグインを使用すると、次のように簡単に実行できます。

var url = $.myURL("search.php", { order: 'ASC' });

より多くのデータを使用:

var url = $.myURL("search.php", { status: 'active', name: 'bill', order: 'ASC' });
// will render
// http://www.yoursite.com/search.php?status=active&name=bill&order=ASC
于 2012-04-30T14:48:56.497 に答える