Подтвердить что ты не робот

Что такое location.search в javascript

Я хочу знать, что фактически делает location.search.substring(1). Я видел этот код на каком-то сайте. Я пытался печатать с помощью alert, но это не дало никакого результата. Это должно предупредить местоположение HREF?

alert(location.search.substring(1))
4b9b3361

Ответ 1

http://example.com/index.php?foo=bar

location.search
> ?foo=bar
location.search.substring(1)
> foo=bar

Таким образом, код вернет все параметры запроса без знака вопроса.

Ответ 2

Свойство location.search содержит строку запроса URI (включая?), если таковая имеется.

Пример:

http://www.example.org/index.php?param=arg
location.search is ?param=arg

Итак, ваш код сокращает лидирующие позиции? и возвращает param=arg.

Ответ 3

Свойство поиска возвращает часть запроса URL-адреса, включая знак вопроса (?).

Это означает, что location.search.substring(1) должен возвращать данные без вопросительного знака.

// http://www.example.com/index.html
console.log(location.search.substring(1)); // no query string, so displays nothing

// http://www.example.com/index.html?property=value
console.log(location.search.substring(1)); // should display "property=value"

"Запрос porpotion" - это строка запроса:

http://www.example.com/?property=value&property2=value
                       |        query string         |

Ответ 4

например. если у вас есть следующий URL

http://www.example.org/index.htm?Browser=Netscape

то window.location.search вернет ?Browser=Netscape как строку

Ответ 5

Сейчас 2018 год, это то, как вы делаете это в 2018 году.

Пример URL:

http://localhost:10/mapserver1/viewer/?config=viewer_simple1&url=https://maps2.dcgis.dc.gov/dcgis/rest/services/Zoning/MapServer&zoom=17&lat=38.917292&long=-77.036420

Мой рабочий код для извлечения каждого параметра запроса:

        var ___zoom;
        var ___lat;
        var ___long;
        var ___basemap;

        var ___type;
        var ___url;
        var ___title;
        var ___opacity;



        if ( location.search.match(/zoom=([^&]*)/i) )
        {
             ___zoom = location.search.match(/zoom=([^&]*)/i)[1];
         }

        if ( location.search.match(/lat=([^&]*)/i) )
        {
           ___lat = location.search.match(/lat=([^&]*)/i)[1];
        }

        if (location.search.match(/long=([^&]*)/i))
        {
            ___long = location.search.match(/long=([^&]*)/i)[1];
        }

        if (location.search.match(/basemap=([^&]*)/i))
        {
            ___basemap = location.search.match(/basemap=([^&]*)/i)[1];
        }

        if (location.search.match(/type=([^&]*)/i))
        {
            ___type = location.search.match(/type=([^&]*)/i)[1];
        }

       if (location.search.match(/url=([^&]*)/i))
        {
            ___url = location.search.match(/url=([^&]*)/i)[1];
        }


        if (location.search.match(/title=([^&]*)/i))
        {
            ___title = location.search.match(/title=([^&]*)/i)[1];
        }

        if (location.search.match(/opacity=([^&]*)/i))
        {
            ___opacity = location.search.match(/opacity=([^&]*)/i)[1];
        }


        //console.log(location.search.match(/zoom=([^&]*)/i)[0]);   //    'zoom=17'
        //console.log(location.search.match(/zoom=([^&]*)/i)[1]);   //     '17'
        console.log(___zoom); 
        console.log(___lat); 
        console.log(___long); 
        console.log(___basemap); 

        console.log(___type); 
        console.log(___url); 
        console.log(___title); 
        console.log(___opacity); 

Ответ 6

Возвращает строку запроса без начального вопросительного знака. Вы увидите только результат, если на странице есть строка запроса, например. http://www.example.com?parameter=value.

Ответ 7

location.search возвращает строку запроса, включая начальный знак вопроса. Метод substr - удалить начальный вопросительный знак из возвращенной строки запроса.

Причина, по которой вы не получаете никаких результатов в alert(), заключается в том, что вы пытаетесь прочитать строку запроса на веб-сайте, на котором ее нет.

Вот как вы тестируете:

  1. Перейти на этот URL
  2. Откройте консоль в своем браузере
  3. Вставьте приведенный ниже фрагмент кода и нажмите Enter

var container = {};
location.search.split('&').toString().substr(1).split(",").forEach(item => {
    container[item.split("=")[0]] = decodeURIComponent(item.split("=")[1]) ?  item.split("=")[1]: "No query strings available" ;
});
console.log(container);