Nano Hash - криптовалюты, майнинг, программирование

Использование location.search для поиска значения параметра

Я работаю над инструментом, который принимает параметры значения в URL-адресе и делает с ними несколько вещей.

Моя проблема в том, что я не могу использовать document.location, чтобы показать конкретное значение, которое мне нужно, например:

www.examplesite.com?yourname=gilgilad

Я хочу использовать document.location.search и поместить его в var, мне нужно, чтобы значение этого var было «gilgilad».

Возможно ли это даже с помощью location.search?

07.11.2014

Ответы:


1

location.search вернет все после вопросительного знака, включая его. Таким образом, есть универсальный js для получения значения первого параметра (даже если URL-адрес имеет больше параметров):

var desire = location.search.slice(1).split("&")[0].split("=")[1]

Пример: возьмем URL http://example.com?name=jon&country=us

  1. location.search будет равно ?name=jon&country=us
  2. .slice(1) пропускает ?, возвращая остальную часть строки.
  3. .split("&")[0] разбивает его на две строки (name=jon и country=us) и берет первую
  4. .split("=")[1] разбивает name=jon на name и jon и берет второе. Готово!
07.11.2014
  • Это хороший ответ, особенно если учесть, что поиск захватывает все после URL-адреса, включая вопросительный знак. 07.11.2014
  • @MatthewA.McFarland Подождите. Теперь я не очень понимаю вопрос. Он имел в виду прочитать или установить location.search, как вы думаете? 07.11.2014
  • никель, я думаю, что он имел в виду установить, когда сказал положить в вар 07.11.2014
  • Быстрая однострочная строка для получения определенного параметра (здесь «referrer»): new Map(window.location.search.slice(1).split('&').map(q => q.split('='))).get('referrer') 11.03.2020

  • 2
    let url = new URL('www.examplesite.com?yourname=gilgilad');
    let searchParams = new URLSearchParams(url.search);
    console.log(searchParams.get('yourname'));
    

    вы можете рассмотреть также пользователя window.location или window.location.search напрямую

    let searchParams = new URLSearchParams(window.location.search);
    console.log(searchParams.get('yourname'));
    
    21.11.2018

    3

    Более общее решение для разделения параметров запроса location.search и преобразования их в объект:

    var a = location.search.split("&");
    var o = a.reduce(function(o, v) {
        var kv = v.split("=");
        kv[0] = kv[0].replace("?", "");
        o[kv[0]] = kv[1];
        return o;
        },
    {});
    
    04.09.2018

    4

    Чтобы сделать ?yourname=gilgilad с помощью document.location.search:

    window.location.search = 'yourname=gilgilad';
    

    вот jsfiddle: http://jsfiddle.net/t81k3bgc/

    обязательно используйте консоль, а затем [run]. вы увидите: введите здесь описание изображения

    Для получения дополнительной информации: https://developer.mozilla.org/en-US/docs/Web/API/Window.location#Example_.235.3A_Send_a_string_of_data_to_the_server_by_modifying_the_search_property.3A

    07.11.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..