何が最も簡単な方法を操作するクエリ文字列のパラメータをjavascript?
-
02-07-2019 - |
質問
の事例からオンラインもより複雑な想像していた以上に (手動で解析&/?/= へのペアを使用し、正規表現します。 今用asp.net ajax (なものをクライアントサイド参照) とを付け加えることも検討に値jQueryいう。
いないことがありますエレガントな解決方法が-これまで このコードがその場で発音を確認することが がたいと思っている何かを見つけなければならないのにHttpRequest.QueryStringオブジェクト (asp.net サーバ側).おかげさまで、事前に
御礼の言葉
解決
実際にインストールする場合は、jQuery用の QueryStringプラグインがあります。 jQueryコアとそれが有用であると証明できるプラグイン。
他のヒント
プラグインを使用したくない場合にこの機能を使用しています:
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return null;
}
これを行う方法を正確に説明している私の投稿を見てください:
http://seattlesoftware.wordpress.com/2008/ 01/16 / javascript-query-string /
jQueryの場合、 jQuery BBQ:[戻る]ボタン&amp;クエリライブラリ By&quot; Cowboy&quot;ベン・アルマン
jQuery BBQはHTML5を活用します hashchangeイベントにより、シンプルでありながら、 強力なブックマーク可能な#hash履歴。 さらに、jQuery BBQは 完全な.deparam()メソッドと ハッシュ状態管理と フラグメント/クエリ文字列解析および ユーティリティメソッドをマージします。
例:
// Parse URL, deserializing query string into an object.
// http://www.example.com/foo.php?a=1&b=2&c=hello#test
// search is set to ?a=1&b=2&c=hello
// myObj is set to { a:"1", b:"2", c:"hello" }
var search = window.location.search;
var myObj = $.deparam.querystring( search );
使用文字列に明らかにprototypejs.orgと呼ばれるtoQueryParams().
例からのサイト: http://prototypejs.org/api/string/toQueryParams
'セクション=ブログ&id=45'.toQueryParams();
//->{section:'ブログ',id:'45'}'セクション=ブログ;id=45'.toQueryParams();
//->{section:'ブログ',id:'45'}'http://www.example.com?section=blog&id=45#comments'.toQueryParams();
//->{section:'ブログ',id:'45'}'セクション=ブログ&tag=javascript&tag=試作&tag=doc'.toQueryParams();
//->{section:'ブログ'タグ:['javascript','試作','doc']}'tag=ruby%20on%20rails'.toQueryParams();
//->{タグ:'ruby on rails'}'id=45-原'.toQueryParams();
//->{id:'45',原:未定義}
また、ご利用いただけるエイリアスparseQuery()を得るのと同じ。
window.location.search.parseQuery();
以来ます。位置を返しますオブジェクトを取得しなければなりませんの文字列になります。
*$(document).ready(function () {
$("#a").click(function () {
window.location.href = "secondpage.aspx?id='0' & name='sunil'& add='asr' & phone='1234'";
});
});*
**then read the query string parameters on another using split method . Here as follows:**
*$(document).ready(function () {
var a = decodeURI(window.location.search);
var id = window.location.search = "id=" + $().val();
var name = a.split("name=")[1].split("&")[0].split("'")[1];
var phone = a.split("phone=")[1].split("&")[0].split("'")[1];
var add = a.split("add=")[1].split("&")[0].split("'")[1];
alert(id+','+name+','+add+','+phone);
});*
繰り返しパラメータに遭遇する可能性がある場合(例:?tag = foo&amp; tag = bar)、そこにあるほとんどのライブラリでは十分ではありません。その場合、Jan Wolterの非常に包括的なパーサーから開発したこのライブラリを検討することをお勧めします。 .plus()および.minus()関数とラウンドトリップを追加しました:
https://github.com/timmc/js- tools / blob / master / src / QueryString.js