Maison > interface Web > js tutoriel > jQuery Ajouter un param à la fonction URL

jQuery Ajouter un param à la fonction URL

Lisa Kudrow
Libérer: 2025-02-28 01:26:09
original
111 Les gens l'ont consulté

Cette fonction d'utilité jQuery vérifie efficacement un paramètre dans l'URL actuelle. S'il est absent, il ajoute le paramètre et renvoie l'URL complète et mise à jour. Ceci est particulièrement utile pour les demandes AJAX à la mise à jour d'une base de données et à rediriger par la suite la même page, mais avec un indicateur indiquant une mise à jour réussie (par exemple, pour afficher un message de confirmation). jQuery add param to url function

(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);
Copier après la connexion

Questions fréquemment posées (FAQ) sur la manipulation des paramètres de l'URL jQuery

Ajout de plusieurs paramètres avec jQuery

Pour ajouter plusieurs paramètres, exploitez la méthode $.param() de jQuery pour sérialiser les objets de données en chaînes codées par URL:

var data = { param1: "value1", param2: "value2" };
var url = "http://example.com/page?" + $.param(data); 
Copier après la connexion

Suppression des paramètres d'une URL

jQuery ne prend pas directement en charge la suppression des paramètres de l'URL. Utilisez plutôt des objets de JavaScript URL et URLSearchParams:

let url = new URL("http://example.com/page?param1=value1&param2=value2");
url.searchParams.delete('param1');
Copier après la connexion

Vérification de l'existence des paramètres

Utilisez URLSearchParams.has() pour vérifier efficacement si un paramètre existe:

let url = new URL("http://example.com/page?param1=value1&param2=value2");
let hasParam1 = url.searchParams.has('param1'); // true
Copier après la connexion

Modification des valeurs des paramètres

Modifier les valeurs des paramètres en utilisant URLSearchParams.set():

let url = new URL("http://example.com/page?param1=value1&param2=value2");
url.searchParams.set('param1', 'newValue1');
Copier après la connexion

Ajout de paramètres sans rechargement de page

Utilisez window.history.pushState() pour mettre à jour l'URL sans rafraîchissement complet:

let url = new URL(window.location.href);
url.searchParams.append('param1', 'value1');
window.history.pushState({}, '', url);
```  Remember that this only updates the URL in the browser's address bar; you'll need to handle any client-side updates based on the new URL parameters separately.
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal