このjQueryユーティリティ関数は、現在のURLのパラメーターを効率的にチェックします。不在の場合、パラメーターを追加し、完全な更新されたURLを返します。これは、AJAXがデータベースを更新し、その後同じページにリダイレクトする要求に特に役立ちますが、更新が成功したことを示しています(たとえば、確認メッセージを表示するため)。
(function($,W,D){ var JQUERY4U = {}; JQUERY4U.UTIL = { /** * Appends a parameter to a URL if it doesn't already exist. * @param {string} param - The parameter name to add. * @param {string} value - The parameter value. * @returns {string} The URL with the appended parameter. */ addParamToUrl: function(param, value){ // Check if parameter exists var regex = new RegExp(param + "=([^&]*)", "i"); var existingParam = regex.exec(W.location.search); var existingValue = existingParam && existingParam[1] || ""; // Construct the URL var loc = W.location; var url = loc.protocol + '//' + loc.host + loc.pathname + loc.search; // Add parameter if it doesn't exist if (existingValue === ''){ url += (loc.search === '' ? '?' : '&') + param + '=' + value; } return url; } }; // Example usage: var newUrl = JQUERY4U.UTIL.addParamToUrl('updated', 'true'); console.log(newUrl); // Input: http://jquery4u.com/index.php // Output: http://jquery4u.com/index.php?updated=true })(jQuery, window, document);
jQuery urlパラメーター操作に関するよくある質問(FAQ)
複数のパラメーターを追加するには、jqueryの$.param()
メソッドを活用して、データオブジェクトをURLエンコード文字列にシリアル化します:
var data = { param1: "value1", param2: "value2" }; var url = "http://example.com/page?" + $.param(data);
jQueryは、URLパラメーターの削除を直接サポートしていません。 代わりにJavaScriptのURLSearchParams
let url = new URL("http://example.com/page?param1=value1¶m2=value2"); url.searchParams.delete('param1');
を使用して、パラメーターが存在するかどうかを効率的に確認します
URLSearchParams.has()
let url = new URL("http://example.com/page?param1=value1¶m2=value2"); let hasParam1 = url.searchParams.has('param1'); // true
を使用してパラメーター値を変更します
URLSearchParams.set()
let url = new URL("http://example.com/page?param1=value1¶m2=value2"); url.searchParams.set('param1', 'newValue1');
以上がjQueryはurl関数にparamを追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。